<TreeView Margin="20,10,0,0" BorderThickness="0" Background="#1b222d" VirtualizingStackPanel.IsVirtualizing="False"
scroll:TreeViewScrollToViewBehavior.TreeViewSelectedItem="{Binding SelectedNode,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"
ItemsSource="{Binding BuildingInfoNodes,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}">
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsExpanded" Value="{Binding IsExpanded,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"/>
<Setter Property="IsSelected" Value="{Binding IsSelected,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"/>
<Style.Resources>
<!--SelectedItem with focus-->设置为treeView的背景色
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="#1b222d" Opacity="0"/>
<!--SelectedItem without focus-->
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="#1b222d" Opacity="0"/>
</Style.Resources>
</Style>
</TreeView.ItemContainerStyle>
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Children,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}">
<StackPanel Orientation="Horizontal" Background="#1b222d" Margin="-1,0,0,0">“-1可以使失去焦点后的前面的竖条去掉”
<Image Visibility="{Binding HasNodeImage,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay,Converter={StaticResource BoolToVisibility}}"
Width="17" Height="15" Source="{Binding NodeImagePath,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"
/>
<TextBlock Margin="0,10,0,0" Height="22" FontSize="14"
Foreground="{Binding SelectedForeground,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"
Text="{Binding Name,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}"/>
</StackPanel>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
<it:Interaction.Triggers>
<it:EventTrigger EventName="SelectedItemChanged">
<it:InvokeCommandAction Command="{Binding BuildingInfoNodeSelectedChangedCommand}"/>
</it:EventTrigger>
</it:Interaction.Triggers>
</TreeView>
wpf 设置treeView节点选中后的的文字颜色、节点的背景色以及节点失去焦点后的背景颜色
最新推荐文章于 2024-06-17 22:44:09 发布