小编Had*_*avi的帖子

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

我对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>
Run Code Online (Sandbox Code Playgroud)

这将显示除了最顶层根文件夹之外的所有子文件夹上的FolderClosed图像.该HierachicalDataTemplate触发还未能展开时开火.任何帮助,将不胜感激.

wpf treeview xaml hierarchicaldatatemplate

5
推荐指数
1
解决办法
5124
查看次数

标签 统计

hierarchicaldatatemplate ×1

treeview ×1

wpf ×1

xaml ×1