2010-04-16 4 views
4

J'ai un TreeView avec un HierarchicalDataTemplate.Modifier la couleur de surbrillance dans TreeView hiérarchique

<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> 

Comme vous pouvez le voir dans le code, i est sélectionné régler le déclenchement de la TreeViewItem, mais cela n'a aucun effet. J'ai aussi essayé ceci:

<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> 

Mais cela n'a eu aucun effet non plus.

Est-ce que quelqu'un a une idée de ce qu'il faut faire pour changer la couleur d'un TreeViewItem?

+3

Vérifiez ma réponse ici: http://stackoverflow.com/questions/388232 ... vous pouvez remplacer la couleur de surbrillance pour TreeView de la même façon. –

+0

Cela a bien fonctionné, merci – flurreh

Répondre

9

Try this ...

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

La couleur ne peut être qu'une couleur prédéfinie du système, donc vous ne pouvez pas utiliser la transparence (par exemple # 02FF0000). +1 –

Questions connexes