views:

543

answers:

2

Hello,

I have got a TreeView with a HierarchicalDataTemplate.

<HierarchicalDataTemplate x:Key="treeViewItemTemplate" ItemsSource="{Binding GetChildren}">
            <DockPanel Margin="0,8,8,0">
                <Image Source="{Binding GetImage}" Width="16" Height="16" />
                <local:MonitorTriStateCheckBox Margin="4,0,0,0" IsChecked="{Binding IsChecked}" Click="CheckBox_Clicked" Tag="{Binding UniqueKey}" Style="{DynamicResource CheckBox}"></local:MonitorTriStateCheckBox>
                <TextBlock Margin="4,0,0,0" Text="{Binding Name}" Style="{DynamicResource TextBlock}">
                </TextBlock>
            </DockPanel>
            <HierarchicalDataTemplate.Triggers>
                <Trigger Property="TreeViewItem.IsSelected" Value="True">
                    <Setter Property="TreeViewItem.Background" Value="Orange" />
                </Trigger>
            </HierarchicalDataTemplate.Triggers>
        </HierarchicalDataTemplate>

As you can see in the code, i set the is selected Trigger of the TreeViewItem, but this has no effect. I alos tried this:

<TreeView.ItemContainerStyle>
                        <Style TargetType="{x:Type TreeViewItem}">
                            <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
                            <Setter Property="Visibility" Value="{Binding IsVisible, Mode=TwoWay}" />
                            <Style.Triggers>
                                <Trigger Property="IsSelected" Value="True">
                                    <Setter Property="Background" Value="Orange" />
                                </Trigger>
                            </Style.Triggers>
                        </Style>
                    </TreeView.ItemContainerStyle>

But that had no effect either.

Has anyone got an idea what to do, to change the hightlight color of a TreeViewItem?

A: 

I think the problem is we don't know what the container type is. I don't think it is of type TreeViewItem. I have the same problem and can't seem to figure it out

Walt
A: 

Try this...

<TreeView.Resources>                                                
    <SolidColorBrush Color="Green" x:Key="{x:Static SystemColors.HighlightBrushKey}"/>
</TreeView.Resources>
Olga