Treeview Toggle Button Style working only for Parent Node and not for Child NodesApply style to all TreeViewItemDefault styles do not apply to subclassesDoes my code demonstrate good WPF practice?WPF change Button Content on ViewModel.PropertyChanged eventcombo box inside a user control disappears when style is applied in wpfSettings triggers on 'self' properties passed down from parent templates (WPF)Hide a parent node in TreeView if there are no child nodesAccess to the Parent node in a TreeView?How to hide the treeview parent and child nodes in WPF TreeviewGet the Parent node of a Child in WPF C# TreeViewAdding child node to parent in TreeView WPF?Get the Parent node and Child node of selected items in WPF C# TreeView

If I said I had $100 when asked, but I actually had $200, would I be lying by omission?

Term used to describe a person who predicts future outcomes

Alternatives to Network Backup

To what extent should we fear giving offense?

Book featuring a child learning from a crowdsourced AI book

Can I take a boxed bicycle on a German train?

Why does this London Underground poster from 1924 have a Star of David atop a Christmas tree?

Dotted background on a flowchart

Why does matter stay collapsed in the core, following a supernova explosion?

Can MuseScore be used programmatically?

A first "Hangman" game in Python

Is it true that different variants of the same model aircraft don't require pilot retraining?

Why is explainability not one of the criteria for publication?

Biological refrigeration?

Does the Reduce option from the Enlarge/Reduce spell cause a critical hit to do 2d4 less damage?

Did the Apollo Guidance Computer really use 60% of the world's ICs in 1963?

Will removing shelving screws from studs damage the studs?

How to emphasise the insignificance of someone/thing – besides using "klein"

Half filled water bottle

Can someone identify this unusual plane at airport?

How to prevent a hosting company from accessing a VM's encryption keys?

What to do about my 1-month-old boy peeing through diapers?

What is Soda Fountain Etiquette?

Are (c#) dictionaries an Anti Pattern?



Treeview Toggle Button Style working only for Parent Node and not for Child Nodes


Apply style to all TreeViewItemDefault styles do not apply to subclassesDoes my code demonstrate good WPF practice?WPF change Button Content on ViewModel.PropertyChanged eventcombo box inside a user control disappears when style is applied in wpfSettings triggers on 'self' properties passed down from parent templates (WPF)Hide a parent node in TreeView if there are no child nodesAccess to the Parent node in a TreeView?How to hide the treeview parent and child nodes in WPF TreeviewGet the Parent node of a Child in WPF C# TreeViewAdding child node to parent in TreeView WPF?Get the Parent node and Child node of selected items in WPF C# TreeView






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















I have a treeview, for which I wrote the style template of treeview in App.xaml, as I need to apply the style in two or three treeviews in my application. Now my problem is that the togglebutton style works for parent and not for child nodes.
Here for the togglebutton collapse and expand, i added two images(
Resources/Images/arrowexpand.png
and
Resources/Images/arrowcollapse.png
It is working perfectly with parent nodes, but not with child and subchild nodes.
For the child and subchild nodes, the default triangle button comes.
I didn't use MVVM. I don't know where I am going wrong



In the treeview



<TreeView x:Name="myTreeview" ItemContainerStyle="StaticResource ms"/>


Here is my code in App.xaml



<Style TargetType="TreeView">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TreeView">
<Border Name="Border" CornerRadius="5" BorderThickness="2">
<Border.BorderBrush>
<SolidColorBrush Color="DarkGreen"/>
</Border.BorderBrush>
<ItemsPresenter/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

<Style x:Key="ExpandCollapseToggleStyle" TargetType="ToggleButton">
<Setter Property="Focusable" Value="False"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ToggleButton">
<Image x:Name="image" Source="Resources/Images/arrowcollapse.png" />
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="true">
<Setter TargetName="image" Property="Source" Value="Resources/Images/arrowexpand.png" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

<Style x:Key="ms" TargetType="TreeViewItem" >
<Setter Property="IsExpanded" Value="True"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Padding" Value="1,0,0,0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TreeViewItem">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="19" Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<!-- Connecting Lines -->
<Rectangle x:Name="HorLn" Margin="9,1,0,0" Height="1" Stroke="#DCDCDC" SnapsToDevicePixels="True"/>
<Rectangle x:Name="VerLn" Width="1" Stroke="#DCDCDC" Margin="0,0,1,0" Grid.RowSpan="2" SnapsToDevicePixels="true" Fill="White"/>
<ToggleButton Margin="-1,0,0,0" x:Name="Expander" Style="StaticResource ExpandCollapseToggleStyle" IsChecked="Binding Path=IsExpanded, RelativeSource=RelativeSource TemplatedParent" ClickMode="Press"/>
<ToggleButton Margin="-1,0,0,0" x:Name="Collapsed" Style="StaticResource ExpandCollapseToggleStyle" IsChecked="Binding Path=IsExpanded, RelativeSource=RelativeSource TemplatedParent" ClickMode="Press"/>
<Border Name="Bd" Grid.Column="1" Background="TemplateBinding Background" BorderBrush="TemplateBinding BorderBrush" BorderThickness="TemplateBinding BorderThickness" Padding="TemplateBinding Padding" SnapsToDevicePixels="True">
<ContentPresenter x:Name="PART_Header" ContentSource="Header" HorizontalAlignment="TemplateBinding HorizontalContentAlignment" MinWidth="20"/>
</Border>
<ItemsPresenter x:Name="ItemsHost" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2"/>
</Grid>


<ControlTemplate.Triggers>
<Trigger Property="IsExpanded" Value="False">
<Setter TargetName="ItemsHost" Property="Visibility" Value="Collapsed"/>
</Trigger>
<Trigger Property="HasItems" Value="false">
<Setter TargetName="Expander" Property="Visibility" Value="Hidden"/>
</Trigger>

<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="HasHeader" Value="false"/>
<Condition Property="Width" Value="Auto"/>
</MultiTrigger.Conditions>
<Setter TargetName="PART_Header" Property="MinWidth" Value="75"/>
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="HasHeader" Value="false"/>
<Condition Property="Height" Value="Auto"/>
</MultiTrigger.Conditions>
<Setter TargetName="PART_Header" Property="MinHeight" Value="19"/>
</MultiTrigger>
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="Bd" Property="Background" Value="DynamicResource x:Static SystemColors.HighlightBrushKey"/>
<Setter Property="Foreground" Value="DynamicResource x:Static SystemColors.HighlightTextBrushKey"/>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="true"/>
<Condition Property="IsSelectionActive" Value="false"/>
</MultiTrigger.Conditions>
<Setter TargetName="Bd" Property="Background" Value="Green"/>
<Setter Property="Foreground" Value="White"/>
</MultiTrigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="DynamicResource x:Static SystemColors.GrayTextBrushKey"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>


I want the arrow button to be for the child items and subchild items. Please tell me where I am wrong










share|improve this question


























  • Possible duplicate of Apply style to all TreeViewItem

    – grek40
    Mar 27 at 21:55











  • I tried this. It's not working for me. Any other way...

    – Lavanya
    Mar 28 at 8:47











  • What exactly did you try?

    – grek40
    Mar 28 at 10:08











  • <TreeView x:Name="myTreeview"> <TreeView.Resources> <Style TargetType="TreeViewItem" BasedOn="StaticResource ms"/> </TreeView.Resources> </TreeView> All my style statements are inside App.xaml

    – Lavanya
    Mar 28 at 10:35












  • This should work, unless you have some interfering style definitions in your project or some outdated generated files. Make a solution cleanup (rebuild all is not enough) then retry the resources approach. Make sure that you project doesn't contain any style with target TreeViewItem that could interfere with your wanted style

    – grek40
    Mar 28 at 12:53

















0















I have a treeview, for which I wrote the style template of treeview in App.xaml, as I need to apply the style in two or three treeviews in my application. Now my problem is that the togglebutton style works for parent and not for child nodes.
Here for the togglebutton collapse and expand, i added two images(
Resources/Images/arrowexpand.png
and
Resources/Images/arrowcollapse.png
It is working perfectly with parent nodes, but not with child and subchild nodes.
For the child and subchild nodes, the default triangle button comes.
I didn't use MVVM. I don't know where I am going wrong



In the treeview



<TreeView x:Name="myTreeview" ItemContainerStyle="StaticResource ms"/>


Here is my code in App.xaml



<Style TargetType="TreeView">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TreeView">
<Border Name="Border" CornerRadius="5" BorderThickness="2">
<Border.BorderBrush>
<SolidColorBrush Color="DarkGreen"/>
</Border.BorderBrush>
<ItemsPresenter/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

<Style x:Key="ExpandCollapseToggleStyle" TargetType="ToggleButton">
<Setter Property="Focusable" Value="False"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ToggleButton">
<Image x:Name="image" Source="Resources/Images/arrowcollapse.png" />
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="true">
<Setter TargetName="image" Property="Source" Value="Resources/Images/arrowexpand.png" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

<Style x:Key="ms" TargetType="TreeViewItem" >
<Setter Property="IsExpanded" Value="True"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Padding" Value="1,0,0,0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TreeViewItem">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="19" Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<!-- Connecting Lines -->
<Rectangle x:Name="HorLn" Margin="9,1,0,0" Height="1" Stroke="#DCDCDC" SnapsToDevicePixels="True"/>
<Rectangle x:Name="VerLn" Width="1" Stroke="#DCDCDC" Margin="0,0,1,0" Grid.RowSpan="2" SnapsToDevicePixels="true" Fill="White"/>
<ToggleButton Margin="-1,0,0,0" x:Name="Expander" Style="StaticResource ExpandCollapseToggleStyle" IsChecked="Binding Path=IsExpanded, RelativeSource=RelativeSource TemplatedParent" ClickMode="Press"/>
<ToggleButton Margin="-1,0,0,0" x:Name="Collapsed" Style="StaticResource ExpandCollapseToggleStyle" IsChecked="Binding Path=IsExpanded, RelativeSource=RelativeSource TemplatedParent" ClickMode="Press"/>
<Border Name="Bd" Grid.Column="1" Background="TemplateBinding Background" BorderBrush="TemplateBinding BorderBrush" BorderThickness="TemplateBinding BorderThickness" Padding="TemplateBinding Padding" SnapsToDevicePixels="True">
<ContentPresenter x:Name="PART_Header" ContentSource="Header" HorizontalAlignment="TemplateBinding HorizontalContentAlignment" MinWidth="20"/>
</Border>
<ItemsPresenter x:Name="ItemsHost" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2"/>
</Grid>


<ControlTemplate.Triggers>
<Trigger Property="IsExpanded" Value="False">
<Setter TargetName="ItemsHost" Property="Visibility" Value="Collapsed"/>
</Trigger>
<Trigger Property="HasItems" Value="false">
<Setter TargetName="Expander" Property="Visibility" Value="Hidden"/>
</Trigger>

<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="HasHeader" Value="false"/>
<Condition Property="Width" Value="Auto"/>
</MultiTrigger.Conditions>
<Setter TargetName="PART_Header" Property="MinWidth" Value="75"/>
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="HasHeader" Value="false"/>
<Condition Property="Height" Value="Auto"/>
</MultiTrigger.Conditions>
<Setter TargetName="PART_Header" Property="MinHeight" Value="19"/>
</MultiTrigger>
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="Bd" Property="Background" Value="DynamicResource x:Static SystemColors.HighlightBrushKey"/>
<Setter Property="Foreground" Value="DynamicResource x:Static SystemColors.HighlightTextBrushKey"/>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="true"/>
<Condition Property="IsSelectionActive" Value="false"/>
</MultiTrigger.Conditions>
<Setter TargetName="Bd" Property="Background" Value="Green"/>
<Setter Property="Foreground" Value="White"/>
</MultiTrigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="DynamicResource x:Static SystemColors.GrayTextBrushKey"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>


I want the arrow button to be for the child items and subchild items. Please tell me where I am wrong










share|improve this question


























  • Possible duplicate of Apply style to all TreeViewItem

    – grek40
    Mar 27 at 21:55











  • I tried this. It's not working for me. Any other way...

    – Lavanya
    Mar 28 at 8:47











  • What exactly did you try?

    – grek40
    Mar 28 at 10:08











  • <TreeView x:Name="myTreeview"> <TreeView.Resources> <Style TargetType="TreeViewItem" BasedOn="StaticResource ms"/> </TreeView.Resources> </TreeView> All my style statements are inside App.xaml

    – Lavanya
    Mar 28 at 10:35












  • This should work, unless you have some interfering style definitions in your project or some outdated generated files. Make a solution cleanup (rebuild all is not enough) then retry the resources approach. Make sure that you project doesn't contain any style with target TreeViewItem that could interfere with your wanted style

    – grek40
    Mar 28 at 12:53













0












0








0








I have a treeview, for which I wrote the style template of treeview in App.xaml, as I need to apply the style in two or three treeviews in my application. Now my problem is that the togglebutton style works for parent and not for child nodes.
Here for the togglebutton collapse and expand, i added two images(
Resources/Images/arrowexpand.png
and
Resources/Images/arrowcollapse.png
It is working perfectly with parent nodes, but not with child and subchild nodes.
For the child and subchild nodes, the default triangle button comes.
I didn't use MVVM. I don't know where I am going wrong



In the treeview



<TreeView x:Name="myTreeview" ItemContainerStyle="StaticResource ms"/>


Here is my code in App.xaml



<Style TargetType="TreeView">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TreeView">
<Border Name="Border" CornerRadius="5" BorderThickness="2">
<Border.BorderBrush>
<SolidColorBrush Color="DarkGreen"/>
</Border.BorderBrush>
<ItemsPresenter/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

<Style x:Key="ExpandCollapseToggleStyle" TargetType="ToggleButton">
<Setter Property="Focusable" Value="False"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ToggleButton">
<Image x:Name="image" Source="Resources/Images/arrowcollapse.png" />
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="true">
<Setter TargetName="image" Property="Source" Value="Resources/Images/arrowexpand.png" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

<Style x:Key="ms" TargetType="TreeViewItem" >
<Setter Property="IsExpanded" Value="True"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Padding" Value="1,0,0,0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TreeViewItem">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="19" Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<!-- Connecting Lines -->
<Rectangle x:Name="HorLn" Margin="9,1,0,0" Height="1" Stroke="#DCDCDC" SnapsToDevicePixels="True"/>
<Rectangle x:Name="VerLn" Width="1" Stroke="#DCDCDC" Margin="0,0,1,0" Grid.RowSpan="2" SnapsToDevicePixels="true" Fill="White"/>
<ToggleButton Margin="-1,0,0,0" x:Name="Expander" Style="StaticResource ExpandCollapseToggleStyle" IsChecked="Binding Path=IsExpanded, RelativeSource=RelativeSource TemplatedParent" ClickMode="Press"/>
<ToggleButton Margin="-1,0,0,0" x:Name="Collapsed" Style="StaticResource ExpandCollapseToggleStyle" IsChecked="Binding Path=IsExpanded, RelativeSource=RelativeSource TemplatedParent" ClickMode="Press"/>
<Border Name="Bd" Grid.Column="1" Background="TemplateBinding Background" BorderBrush="TemplateBinding BorderBrush" BorderThickness="TemplateBinding BorderThickness" Padding="TemplateBinding Padding" SnapsToDevicePixels="True">
<ContentPresenter x:Name="PART_Header" ContentSource="Header" HorizontalAlignment="TemplateBinding HorizontalContentAlignment" MinWidth="20"/>
</Border>
<ItemsPresenter x:Name="ItemsHost" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2"/>
</Grid>


<ControlTemplate.Triggers>
<Trigger Property="IsExpanded" Value="False">
<Setter TargetName="ItemsHost" Property="Visibility" Value="Collapsed"/>
</Trigger>
<Trigger Property="HasItems" Value="false">
<Setter TargetName="Expander" Property="Visibility" Value="Hidden"/>
</Trigger>

<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="HasHeader" Value="false"/>
<Condition Property="Width" Value="Auto"/>
</MultiTrigger.Conditions>
<Setter TargetName="PART_Header" Property="MinWidth" Value="75"/>
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="HasHeader" Value="false"/>
<Condition Property="Height" Value="Auto"/>
</MultiTrigger.Conditions>
<Setter TargetName="PART_Header" Property="MinHeight" Value="19"/>
</MultiTrigger>
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="Bd" Property="Background" Value="DynamicResource x:Static SystemColors.HighlightBrushKey"/>
<Setter Property="Foreground" Value="DynamicResource x:Static SystemColors.HighlightTextBrushKey"/>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="true"/>
<Condition Property="IsSelectionActive" Value="false"/>
</MultiTrigger.Conditions>
<Setter TargetName="Bd" Property="Background" Value="Green"/>
<Setter Property="Foreground" Value="White"/>
</MultiTrigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="DynamicResource x:Static SystemColors.GrayTextBrushKey"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>


I want the arrow button to be for the child items and subchild items. Please tell me where I am wrong










share|improve this question
















I have a treeview, for which I wrote the style template of treeview in App.xaml, as I need to apply the style in two or three treeviews in my application. Now my problem is that the togglebutton style works for parent and not for child nodes.
Here for the togglebutton collapse and expand, i added two images(
Resources/Images/arrowexpand.png
and
Resources/Images/arrowcollapse.png
It is working perfectly with parent nodes, but not with child and subchild nodes.
For the child and subchild nodes, the default triangle button comes.
I didn't use MVVM. I don't know where I am going wrong



In the treeview



<TreeView x:Name="myTreeview" ItemContainerStyle="StaticResource ms"/>


Here is my code in App.xaml



<Style TargetType="TreeView">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TreeView">
<Border Name="Border" CornerRadius="5" BorderThickness="2">
<Border.BorderBrush>
<SolidColorBrush Color="DarkGreen"/>
</Border.BorderBrush>
<ItemsPresenter/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

<Style x:Key="ExpandCollapseToggleStyle" TargetType="ToggleButton">
<Setter Property="Focusable" Value="False"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ToggleButton">
<Image x:Name="image" Source="Resources/Images/arrowcollapse.png" />
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="true">
<Setter TargetName="image" Property="Source" Value="Resources/Images/arrowexpand.png" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>

<Style x:Key="ms" TargetType="TreeViewItem" >
<Setter Property="IsExpanded" Value="True"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="Padding" Value="1,0,0,0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TreeViewItem">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="19" Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<!-- Connecting Lines -->
<Rectangle x:Name="HorLn" Margin="9,1,0,0" Height="1" Stroke="#DCDCDC" SnapsToDevicePixels="True"/>
<Rectangle x:Name="VerLn" Width="1" Stroke="#DCDCDC" Margin="0,0,1,0" Grid.RowSpan="2" SnapsToDevicePixels="true" Fill="White"/>
<ToggleButton Margin="-1,0,0,0" x:Name="Expander" Style="StaticResource ExpandCollapseToggleStyle" IsChecked="Binding Path=IsExpanded, RelativeSource=RelativeSource TemplatedParent" ClickMode="Press"/>
<ToggleButton Margin="-1,0,0,0" x:Name="Collapsed" Style="StaticResource ExpandCollapseToggleStyle" IsChecked="Binding Path=IsExpanded, RelativeSource=RelativeSource TemplatedParent" ClickMode="Press"/>
<Border Name="Bd" Grid.Column="1" Background="TemplateBinding Background" BorderBrush="TemplateBinding BorderBrush" BorderThickness="TemplateBinding BorderThickness" Padding="TemplateBinding Padding" SnapsToDevicePixels="True">
<ContentPresenter x:Name="PART_Header" ContentSource="Header" HorizontalAlignment="TemplateBinding HorizontalContentAlignment" MinWidth="20"/>
</Border>
<ItemsPresenter x:Name="ItemsHost" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2"/>
</Grid>


<ControlTemplate.Triggers>
<Trigger Property="IsExpanded" Value="False">
<Setter TargetName="ItemsHost" Property="Visibility" Value="Collapsed"/>
</Trigger>
<Trigger Property="HasItems" Value="false">
<Setter TargetName="Expander" Property="Visibility" Value="Hidden"/>
</Trigger>

<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="HasHeader" Value="false"/>
<Condition Property="Width" Value="Auto"/>
</MultiTrigger.Conditions>
<Setter TargetName="PART_Header" Property="MinWidth" Value="75"/>
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="HasHeader" Value="false"/>
<Condition Property="Height" Value="Auto"/>
</MultiTrigger.Conditions>
<Setter TargetName="PART_Header" Property="MinHeight" Value="19"/>
</MultiTrigger>
<Trigger Property="IsSelected" Value="true">
<Setter TargetName="Bd" Property="Background" Value="DynamicResource x:Static SystemColors.HighlightBrushKey"/>
<Setter Property="Foreground" Value="DynamicResource x:Static SystemColors.HighlightTextBrushKey"/>
</Trigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="true"/>
<Condition Property="IsSelectionActive" Value="false"/>
</MultiTrigger.Conditions>
<Setter TargetName="Bd" Property="Background" Value="Green"/>
<Setter Property="Foreground" Value="White"/>
</MultiTrigger>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground" Value="DynamicResource x:Static SystemColors.GrayTextBrushKey"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>


I want the arrow button to be for the child items and subchild items. Please tell me where I am wrong







c# wpf






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 27 at 21:41









grek40

10.7k1 gold badge14 silver badges37 bronze badges




10.7k1 gold badge14 silver badges37 bronze badges










asked Mar 27 at 20:38









LavanyaLavanya

174 bronze badges




174 bronze badges















  • Possible duplicate of Apply style to all TreeViewItem

    – grek40
    Mar 27 at 21:55











  • I tried this. It's not working for me. Any other way...

    – Lavanya
    Mar 28 at 8:47











  • What exactly did you try?

    – grek40
    Mar 28 at 10:08











  • <TreeView x:Name="myTreeview"> <TreeView.Resources> <Style TargetType="TreeViewItem" BasedOn="StaticResource ms"/> </TreeView.Resources> </TreeView> All my style statements are inside App.xaml

    – Lavanya
    Mar 28 at 10:35












  • This should work, unless you have some interfering style definitions in your project or some outdated generated files. Make a solution cleanup (rebuild all is not enough) then retry the resources approach. Make sure that you project doesn't contain any style with target TreeViewItem that could interfere with your wanted style

    – grek40
    Mar 28 at 12:53

















  • Possible duplicate of Apply style to all TreeViewItem

    – grek40
    Mar 27 at 21:55











  • I tried this. It's not working for me. Any other way...

    – Lavanya
    Mar 28 at 8:47











  • What exactly did you try?

    – grek40
    Mar 28 at 10:08











  • <TreeView x:Name="myTreeview"> <TreeView.Resources> <Style TargetType="TreeViewItem" BasedOn="StaticResource ms"/> </TreeView.Resources> </TreeView> All my style statements are inside App.xaml

    – Lavanya
    Mar 28 at 10:35












  • This should work, unless you have some interfering style definitions in your project or some outdated generated files. Make a solution cleanup (rebuild all is not enough) then retry the resources approach. Make sure that you project doesn't contain any style with target TreeViewItem that could interfere with your wanted style

    – grek40
    Mar 28 at 12:53
















Possible duplicate of Apply style to all TreeViewItem

– grek40
Mar 27 at 21:55





Possible duplicate of Apply style to all TreeViewItem

– grek40
Mar 27 at 21:55













I tried this. It's not working for me. Any other way...

– Lavanya
Mar 28 at 8:47





I tried this. It's not working for me. Any other way...

– Lavanya
Mar 28 at 8:47













What exactly did you try?

– grek40
Mar 28 at 10:08





What exactly did you try?

– grek40
Mar 28 at 10:08













<TreeView x:Name="myTreeview"> <TreeView.Resources> <Style TargetType="TreeViewItem" BasedOn="StaticResource ms"/> </TreeView.Resources> </TreeView> All my style statements are inside App.xaml

– Lavanya
Mar 28 at 10:35






<TreeView x:Name="myTreeview"> <TreeView.Resources> <Style TargetType="TreeViewItem" BasedOn="StaticResource ms"/> </TreeView.Resources> </TreeView> All my style statements are inside App.xaml

– Lavanya
Mar 28 at 10:35














This should work, unless you have some interfering style definitions in your project or some outdated generated files. Make a solution cleanup (rebuild all is not enough) then retry the resources approach. Make sure that you project doesn't contain any style with target TreeViewItem that could interfere with your wanted style

– grek40
Mar 28 at 12:53





This should work, unless you have some interfering style definitions in your project or some outdated generated files. Make a solution cleanup (rebuild all is not enough) then retry the resources approach. Make sure that you project doesn't contain any style with target TreeViewItem that could interfere with your wanted style

– grek40
Mar 28 at 12:53












1 Answer
1






active

oldest

votes


















0















I found out the Solution. Actually I am trying to apply the styles for the derived classes of the treeview item. So only my style was not working.
What I did was I just added this style statement in my Constructor of the derived Class
Style = (Style)FindResource(typeof(TreeViewItem));
Then the style was applied to all the items in the treeview.






share|improve this answer
























    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55386050%2ftreeview-toggle-button-style-working-only-for-parent-node-and-not-for-child-node%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0















    I found out the Solution. Actually I am trying to apply the styles for the derived classes of the treeview item. So only my style was not working.
    What I did was I just added this style statement in my Constructor of the derived Class
    Style = (Style)FindResource(typeof(TreeViewItem));
    Then the style was applied to all the items in the treeview.






    share|improve this answer





























      0















      I found out the Solution. Actually I am trying to apply the styles for the derived classes of the treeview item. So only my style was not working.
      What I did was I just added this style statement in my Constructor of the derived Class
      Style = (Style)FindResource(typeof(TreeViewItem));
      Then the style was applied to all the items in the treeview.






      share|improve this answer



























        0














        0










        0









        I found out the Solution. Actually I am trying to apply the styles for the derived classes of the treeview item. So only my style was not working.
        What I did was I just added this style statement in my Constructor of the derived Class
        Style = (Style)FindResource(typeof(TreeViewItem));
        Then the style was applied to all the items in the treeview.






        share|improve this answer













        I found out the Solution. Actually I am trying to apply the styles for the derived classes of the treeview item. So only my style was not working.
        What I did was I just added this style statement in my Constructor of the derived Class
        Style = (Style)FindResource(typeof(TreeViewItem));
        Then the style was applied to all the items in the treeview.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 28 at 19:41









        LavanyaLavanya

        174 bronze badges




        174 bronze badges





















            Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.







            Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.



















            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55386050%2ftreeview-toggle-button-style-working-only-for-parent-node-and-not-for-child-node%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

            Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

            Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript