gpt4 book ai didi

wpf - 使用 Treeview HierarchicalDataTemplate.Triggers 更改文件夹图标

转载 作者:行者123 更新时间:2023-12-02 02:34:46 26 4
gpt4 key购买 nike

我对 WPF 还很陌生,这是我在回顾了此处发布的许多先前提出的问题后最接近实现我打算做的事情的。XAML代码:

<TreeView x:Name="folderView" Grid.Column="0" Grid.Row="1" BorderThickness="0">
<TreeViewItem Header="Folders" ItemsSource="{Binding SubFolders, Source={StaticResource RootFolderDataProvider}}" Margin="5"/>

<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type my:FolderView}" ItemsSource="{Binding SubFolders}">
<StackPanel Orientation="Horizontal" Name="myPanel">
<Image x:Name="img" Width="16" Height="16" Source="Images/FolderClosed.png" />
<TextBlock Text="{Binding Name}" />
</StackPanel>

<HierarchicalDataTemplate.Triggers>
<DataTrigger Binding="{Binding IsExpanded}" Value="True">
<Setter TargetName="img" Property="Source" Value="Images/FolderOpen.png"/>
</DataTrigger>
</HierarchicalDataTemplate.Triggers>
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>

这会在除最顶层根文件夹之外的所有子文件夹上显示“FolderClosed”图像。HierachicalDataTemplate 触发器在展开时也无法触发。任何帮助将不胜感激。

最佳答案

如果您要绑定(bind)到 TreeViewItem IsExpanded 属性,那么您将必须更新您的绑定(bind),如下所示:

<DataTrigger Binding="{Binding IsExpanded, RelativeSource={RelativeSource AncestorType={x:Type TreeViewItem}}}" Value="True">
<Setter TargetName="img" Property="Source" Value="Images/FolderOpen.png"/>
</DataTrigger>

关于wpf - 使用 Treeview HierarchicalDataTemplate.Triggers 更改文件夹图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18951473/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com