I want to add the tooltip to the expander in the TreeListView. The question is that I want the different tooltip when in expanded and collapsed status if I hover over the expander.
So I think that I have to apply the ControlTemplate triggers of the ToggleButton. Thanks for the code help.
3 Answers, 1 is accepted
0
Hi Trump,
To add a ToolTip to the expand toggle button of the RadTreeListView you can extract and edit the default template of the RadTreeListViewRow. You can take a look at the Editing Control Templates help article which demonstrates how you can extract the template.
In the extracted template you can navigate to a ControlTemplate with x:Name="GridViewToggleButtonArrowTemplate" and specify ControlTemplates.Triggers. The triggers could target the IsChecked property. When it is true the row is expanded. To set a ToolTip you can use our RadToolTipService and set the telerik:RadToolTipService.ToolTipContent attached property.
Regards,
Dinko
Progress Telerik
To add a ToolTip to the expand toggle button of the RadTreeListView you can extract and edit the default template of the RadTreeListViewRow. You can take a look at the Editing Control Templates help article which demonstrates how you can extract the template.
In the extracted template you can navigate to a ControlTemplate with x:Name="GridViewToggleButtonArrowTemplate" and specify ControlTemplates.Triggers. The triggers could target the IsChecked property. When it is true the row is expanded. To set a ToolTip you can use our RadToolTipService and set the telerik:RadToolTipService.ToolTipContent attached property.
Regards,
Dinko
Progress Telerik
Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
0
Trump
Top achievements
Rank 1
answered on 30 Jul 2018, 11:13 PM
Thank you, but I don't get it.
I clicked the TreeListView control and followed the example, then the style is
<
Style
x:Key
=
"RadTreeListViewStyle1"
TargetType
=
"{x:Type telerik:RadTreeListView}"
>
<
Setter
Property
=
"Template"
>
<
Setter.Value
>
<
ControlTemplate
TargetType
=
"{x:Type telerik:RadTreeListView}"
>
<
Grid
>
<
Grid.ColumnDefinitions
>
<
ColumnDefinition
/>
<
ColumnDefinition
x:Name
=
"ScrollBarColumn"
MinWidth
=
"0"
Width
=
"0"
/>
<
ColumnDefinition
Width
=
"Auto"
/>
</
Grid.ColumnDefinitions
>
<
Grid.RowDefinitions
>
<
RowDefinition
Height
=
"Auto"
/>
<
RowDefinition
x:Name
=
"PART_AttachedBehaviorRow"
Height
=
"Auto"
/>
<
RowDefinition
/>
<
RowDefinition
x:Name
=
"ScrollBarRow"
Height
=
"0"
MinHeight
=
"0"
/>
<
RowDefinition
Height
=
"Auto"
/>
</
Grid.RowDefinitions
>
<
VisualStateManager.VisualStateGroups
>
<
VisualStateGroup
x:Name
=
"GridViewActivity"
>
<
VisualState
x:Name
=
"Idle"
>
<
Storyboard
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"Visibility"
Storyboard.TargetName
=
"PART_GridViewLoadingIndicator"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Collapsed</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
<
VisualState
x:Name
=
"Busy"
>
<
Storyboard
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"Visibility"
Storyboard.TargetName
=
"PART_GridViewLoadingIndicator"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Visible</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
</
VisualStateGroup
>
<
VisualStateGroup
x:Name
=
"ColumnHeadersVisibility"
>
<
VisualState
x:Name
=
"ColumnHeadersVisible"
>
<
Storyboard
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"Visibility"
Storyboard.TargetName
=
"PART_HeaderRow"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Visible</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
<
VisualState
x:Name
=
"ColumnHeadersCollapsed"
>
<
Storyboard
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"Visibility"
Storyboard.TargetName
=
"PART_HeaderRow"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Collapsed</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
</
VisualStateGroup
>
<
VisualStateGroup
x:Name
=
"ColumnFootersVisibility"
>
<
VisualState
x:Name
=
"ColumnFootersVisible"
>
<
Storyboard
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"Visibility"
Storyboard.TargetName
=
"PART_FooterRow"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Visible</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
<
VisualState
x:Name
=
"ColumnFootersCollapsed"
>
<
Storyboard
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"Visibility"
Storyboard.TargetName
=
"PART_FooterRow"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Collapsed</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
</
VisualStateGroup
>
<
VisualStateGroup
x:Name
=
"InsertRowVisibility"
>
<
VisualState
x:Name
=
"InsertRowVisible"
>
<
Storyboard
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"Visibility"
Storyboard.TargetName
=
"PART_AddNewRow"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Visible</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
<
VisualState
x:Name
=
"InsertRowCollapsed"
>
<
Storyboard
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"Visibility"
Storyboard.TargetName
=
"PART_AddNewRow"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Collapsed</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
</
VisualStateGroup
>
<
VisualStateGroup
x:Name
=
"DisabledStates"
>
<
VisualState
x:Name
=
"Enabled"
/>
<
VisualState
x:Name
=
"Disabled"
>
<
Storyboard
>
<
ObjectAnimationUsingKeyFrames
Storyboard.TargetProperty
=
"Visibility"
Storyboard.TargetName
=
"Background_Disabled"
>
<
DiscreteObjectKeyFrame
KeyTime
=
"0"
>
<
DiscreteObjectKeyFrame.Value
>
<
Visibility
>Visible</
Visibility
>
</
DiscreteObjectKeyFrame.Value
>
</
DiscreteObjectKeyFrame
>
</
ObjectAnimationUsingKeyFrames
>
</
Storyboard
>
</
VisualState
>
</
VisualStateGroup
>
</
VisualStateManager.VisualStateGroups
>
<
ItemsControl
x:Name
=
"PART_ControlPanelItemsControl"
Grid.Column
=
"2"
HorizontalAlignment
=
"Right"
IsTabStop
=
"False"
>
<
ItemsControl.ItemsPanel
>
<
ItemsPanelTemplate
>
<
StackPanel
IsItemsHost
=
"True"
Orientation
=
"Horizontal"
/>
</
ItemsPanelTemplate
>
</
ItemsControl.ItemsPanel
>
<
ItemsControl.ItemTemplate
>
<
DataTemplate
>
<
telerik:ControlPanelItemControl
>
<
telerik:StyleManager.Theme
>
<
telerik:Office_BlackTheme
/>
</
telerik:StyleManager.Theme
>
</
telerik:ControlPanelItemControl
>
</
DataTemplate
>
</
ItemsControl.ItemTemplate
>
</
ItemsControl
>
<
Border
x:Name
=
"PART_MasterGridContainer"
BorderBrush
=
"{TemplateBinding BorderBrush}"
BorderThickness
=
"{TemplateBinding BorderThickness}"
Background
=
"{TemplateBinding Background}"
Grid.ColumnSpan
=
"3"
Margin
=
"0,-1,0,0"
Padding
=
"{TemplateBinding Padding}"
Grid.Row
=
"2"
Grid.RowSpan
=
"4"
/>
<
telerik:GridViewScrollViewer
x:Name
=
"PART_ItemsScrollViewer"
Background
=
"Transparent"
CanContentScroll
=
"True"
Grid.ColumnSpan
=
"3"
Margin
=
"1,0,1,1"
Grid.Row
=
"2"
Grid.RowSpan
=
"2"
>
<
telerik:GridViewScrollViewer.FooterRow
>
<
telerik:GridViewFooterRow
x:Name
=
"PART_FooterRow"
IsTabStop
=
"False"
IndentLevel
=
"{TemplateBinding GroupCount}"
>
<
telerik:StyleManager.Theme
>
<
telerik:Office_BlackTheme
/>
</
telerik:StyleManager.Theme
>
</
telerik:GridViewFooterRow
>
</
telerik:GridViewScrollViewer.FooterRow
>
<
telerik:GridViewScrollViewer.HeaderRow
>
<
telerik:GridViewHeaderRow
x:Name
=
"PART_HeaderRow"
IsTabStop
=
"False"
IndentLevel
=
"{TemplateBinding GroupCount}"
>
<
telerik:StyleManager.Theme
>
<
telerik:Office_BlackTheme
/>
</
telerik:StyleManager.Theme
>
</
telerik:GridViewHeaderRow
>
</
telerik:GridViewScrollViewer.HeaderRow
>
<
telerik:GridViewScrollViewer.NewRow
>
<
telerik:GridViewNewRow
x:Name
=
"PART_AddNewRow"
IsTabStop
=
"False"
IndentLevel
=
"{TemplateBinding GroupCount}"
Visibility
=
"Collapsed"
>
<
telerik:StyleManager.Theme
>
<
telerik:Office_BlackTheme
/>
</
telerik:StyleManager.Theme
>
</
telerik:GridViewNewRow
>
</
telerik:GridViewScrollViewer.NewRow
>
<
telerik:StyleManager.Theme
>
<
telerik:Office_BlackTheme
/>
</
telerik:StyleManager.Theme
>
<
telerik:TreeListViewVirtualizingPanel
x:Name
=
"PART_GridViewVirtualizingPanel"
CanHorizontallyScroll
=
"True"
CanVerticallyScroll
=
"True"
/>
</
telerik:GridViewScrollViewer
>
<
telerik:ScrollPositionIndicator
x:Name
=
"PART_ScrollPositionIndicator"
Grid.ColumnSpan
=
"3"
ContentTemplate
=
"{TemplateBinding ScrollPositionIndicatorTemplate}"
HorizontalAlignment
=
"Right"
IsHitTestVisible
=
"False"
IsTabStop
=
"False"
Margin
=
"0,0,28,0"
Grid.Row
=
"2"
>
<
telerik:StyleManager.Theme
>
<
telerik:Office_BlackTheme
/>
</
telerik:StyleManager.Theme
>
<
telerik:ScrollPositionIndicator.Visibility
>
<
Binding
Mode
=
"TwoWay"
Path
=
"IsScrolling"
RelativeSource
=
"{RelativeSource TemplatedParent}"
>
<
Binding.Converter
>
<
telerik:BooleanToVisibilityConverter
/>
</
Binding.Converter
>
</
Binding
>
</
telerik:ScrollPositionIndicator.Visibility
>
</
telerik:ScrollPositionIndicator
>
<
Border
x:Name
=
"PART_FrozenColumnsPreview"
Background
=
"#33000000"
HorizontalAlignment
=
"Left"
Grid.Row
=
"1"
Grid.RowSpan
=
"4"
Visibility
=
"Collapsed"
VerticalAlignment
=
"Stretch"
Width
=
"6"
/>
<
telerik:GridViewLoadingIndicator
x:Name
=
"PART_GridViewLoadingIndicator"
Grid.ColumnSpan
=
"3"
IsTabStop
=
"False"
IsBusy
=
"{Binding IsBusy, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
Grid.RowSpan
=
"4"
Visibility
=
"Collapsed"
>
<
telerik:StyleManager.Theme
>
<
telerik:Office_BlackTheme
/>
</
telerik:StyleManager.Theme
>
</
telerik:GridViewLoadingIndicator
>
<
Grid
x:Name
=
"DragBetweenItemsFeedback"
HorizontalAlignment
=
"Left"
Height
=
"8"
IsHitTestVisible
=
"False"
Margin
=
"{TemplateBinding Padding}"
Grid.Row
=
"2"
Visibility
=
"Collapsed"
VerticalAlignment
=
"Top"
>
<
Grid.ColumnDefinitions
>
<
ColumnDefinition
Width
=
"8"
/>
<
ColumnDefinition
/>
</
Grid.ColumnDefinitions
>
<
Ellipse
HorizontalAlignment
=
"Left"
Height
=
"8"
Stroke
=
"#FFFFC92B"
StrokeThickness
=
"2"
VerticalAlignment
=
"Center"
Width
=
"8"
/>
<
Rectangle
Grid.Column
=
"1"
Fill
=
"#FFFFC92B"
Height
=
"2"
Margin
=
"-2,3,0,0"
RadiusY
=
"2"
RadiusX
=
"2"
VerticalAlignment
=
"Top"
/>
</
Grid
>
<
Rectangle
x:Name
=
"Background_Disabled"
IsHitTestVisible
=
"False"
Grid.RowSpan
=
"5"
Visibility
=
"Collapsed"
>
<
Rectangle.Fill
>
<
LinearGradientBrush
EndPoint
=
"0.5,1"
StartPoint
=
"0.5,0"
>
<
GradientStop
Color
=
"#E5000000"
/>
<
GradientStop
Color
=
"#E5000000"
Offset
=
"1"
/>
<
GradientStop
Color
=
"#4C000000"
Offset
=
"0.5"
/>
</
LinearGradientBrush
>
</
Rectangle.Fill
>
</
Rectangle
>
</
Grid
>
</
ControlTemplate
>
</
Setter.Value
>
</
Setter
>
<
Setter
Property
=
"Background"
Value
=
"White"
/>
<
Setter
Property
=
"BorderBrush"
Value
=
"#FF848484"
/>
<
Setter
Property
=
"Foreground"
Value
=
"Black"
/>
<
Setter
Property
=
"BorderThickness"
Value
=
"1"
/>
<
Setter
Property
=
"AlternateRowBackground"
Value
=
"#FFF4F4F4"
/>
<
Setter
Property
=
"VerticalGridLinesBrush"
Value
=
"#FFCBCBCB"
/>
<
Setter
Property
=
"HorizontalGridLinesBrush"
Value
=
"#FFCBCBCB"
/>
<
Setter
Property
=
"ScrollViewer.HorizontalScrollBarVisibility"
Value
=
"Auto"
/>
<
Setter
Property
=
"ScrollViewer.VerticalScrollBarVisibility"
Value
=
"Auto"
/>
<
Setter
Property
=
"VerticalAlignment"
Value
=
"Stretch"
/>
<
Setter
Property
=
"HorizontalAlignment"
Value
=
"Stretch"
/>
<
Setter
Property
=
"TreeLinesBrush"
Value
=
"Black"
/>
<
Setter
Property
=
"TreeLinesStrokeThickness"
Value
=
"0.2"
/>
<
Setter
Property
=
"Tag"
Value
=
"OfficeBlack"
/>
<
Setter
Property
=
"SnapsToDevicePixels"
Value
=
"True"
/>
</
Style
>
There is no the ControlTemplate with x:Name="GridViewToggleButtonArrowTemplate". What I am missing?
0
Hello Trump,
Looking at the provided code snippet the extracted style is for the RadTreeListView. To add a tooltip to the toggle button you need to modify the RadTreeListViewRow template. For your convenience, I have extracted the template in a sample project which can be found attached to this reply. When you hover the toggle button a tooltip will appear. You can additionally modify to fit in your main application.
Regards,
Dinko
Progress Telerik
Looking at the provided code snippet the extracted style is for the RadTreeListView. To add a tooltip to the toggle button you need to modify the RadTreeListViewRow template. For your convenience, I have extracted the template in a sample project which can be found attached to this reply. When you hover the toggle button a tooltip will appear. You can additionally modify to fit in your main application.
Regards,
Dinko
Progress Telerik
Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.