我在dockpanel里面有一个树视图,树视图的所有元素都在HierarchicalDataTemplates中。这是代码:
<DockPanel Margin="10,10,0,0" VerticalAlignment="Stretch" Grid.Row="0" Grid.RowSpan="5" Grid.Column="0">
<DockPanel.Resources>
<src:TreeViewFilter x:Key="MyList" />
<HierarchicalDataTemplate DataType="{x:Type src:TreeViewParent}" ItemsSource="{Binding Path=OrderAttributes}">
<TextBlock Text="{Binding Path=Name}" FontSize="24"/>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type src:OrderAttribute}" ItemsSource="{Binding Path=OrderAttributes}">
<TextBlock Text="{Binding Path=NameAndCount}" FontSize="16"/>
</HierarchicalDataTemplate>
</DockPanel.Resources>
<TreeView Name="treeView1" BorderThickness="2" ItemsSource="{Binding Source={StaticResource MyList}, UpdateSourceTrigger=PropertyChanged}" TreeViewItem.Selected="treeViewFilter"/>
</DockPanel>
如您所见,DockPanel包裹着TreeView。我试图添加的图标将在第二个HierarchicalDataTemplate中,它绑定到一个字符串并显示为文本框。根据“NameAndCount”的名称,我会选择左侧显示的图标。
关于我的例子的解决方案的任何想法?或者我是否需要考虑使用不同的模板,如StackPanel?
答案 0 :(得分:0)
在任何地方添加Image-Control,将其Source绑定到“NameAndCount”并使用IValueConverter将其转换为图像路径。