C# 当节点展开或折叠时,如何更改WPF树视图中节点的图像?
我的Xaml如下所示:C# 当节点展开或折叠时,如何更改WPF树视图中节点的图像?,c#,wpf,treeview,C#,Wpf,Treeview,我的Xaml如下所示: <TreeView Name="mainTree" ItemsSource="{Binding Folders}"> <TreeView.Resources> <Style TargetType="{x:Type TreeViewItem}"> <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
<TreeView Name="mainTree" ItemsSource="{Binding Folders}">
<TreeView.Resources>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
<Style.Triggers>
<!-- ??? -->
</Style.Triggers>
</Style>
<HierarchicalDataTemplate DataType="{x:Type local:FolderNode}" ItemsSource="{Binding Children}" >
<StackPanel Orientation="Horizontal" Name="myPanel">
<Image x:Name="treeImg" Width="16" Height="16" Source="Images/vsfolder_closed.png"/>
<TextBlock Text="{Binding Name}" />
</StackPanel>
<HierarchicalDataTemplate.Triggers>
<!-- ??? -->
</HierarchicalDataTemplate.Triggers>
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
现在我想要的是,如果一个treenode被扩展,图像源将更改为Images/vsfolder_open.png
最简单的方法是什么
提前谢谢 将DataTrigger添加到HierarchycalDataTemplate。由于对ViewModel中展开的属性具有双向绑定,因此可以绑定到该属性并使用TargetName,因为DataTemplate中有名称范围
<HierarchicalDataTemplate.Triggers>
<DataTrigger Binding="{Binding IsExpanded}" Value="True">
<Setter TargetName="treeImg"
Property="Source"
Value="Images/vsfolder_open.png"/>
</DataTrigger>
</HierarchicalDataTemplate.Triggers>