.net 如何在WPF树视图中的节点旁边添加图标?
我有一个WPF树视图,只有1级的项目。TreeView是绑定到可观察字符串集合的数据。如何确保相同的图标出现在树视图中每个节点的左侧?我认为最好的方法是在树视图上设置一个样式,该样式将更改树视图项的模板以获得所需的图像 模板可能需要是一个带有图像和标签控件的StackPanel,将图像绑定到图标,将标签文本绑定到可观察集合中的字符串 我已经从中复制了相关的代码片段,其中更详细地介绍了这一点,但我认为下面是您所需要的全部内容(此代码位于TreeView.Resources元素中).net 如何在WPF树视图中的节点旁边添加图标?,.net,wpf,treeview,.net,Wpf,Treeview,我有一个WPF树视图,只有1级的项目。TreeView是绑定到可观察字符串集合的数据。如何确保相同的图标出现在树视图中每个节点的左侧?我认为最好的方法是在树视图上设置一个样式,该样式将更改树视图项的模板以获得所需的图像 模板可能需要是一个带有图像和标签控件的StackPanel,将图像绑定到图标,将标签文本绑定到可观察集合中的字符串 我已经从中复制了相关的代码片段,其中更详细地介绍了这一点,但我认为下面是您所需要的全部内容(此代码位于TreeView.Resources元素中) 我认为这篇文章是
我认为这篇文章是帮助您理解TreeView的最佳文章之一。总的来说,这描述了一组很好的模式,可以使WPF/SL中的许多场景变得更加简单。我用这种方式使用了 XAML:
这是所有节点的一个图标。如何为不同级别的树节点关联不同的图标?请为源代码使用绑定值
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Name="img"
Width="20"
Height="20"
Stretch="Fill"
Source="image.png"/>
<TextBlock Text="{Binding}" Margin="5,0" />
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
<TreeView Name="TreeViewThings" ItemsSource="{Binding}">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type local:Thing}"
ItemsSource="{Binding Children}">
<StackPanel Orientation="Horizontal" Margin="2">
<Image Source="Thing.png"
Width="16"
Height="16"
SnapsToDevicePixels="True"/>
<TextBlock Text="{Binding Path=Name}" Margin="5,0"/>
</StackPanel>
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>