如何使用dockpanel和binding将图标添加到wpf treeview?

时间:2012-09-26 20:02:53

标签: wpf binding treeview icons dockpanel

我在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?

1 个答案:

答案 0 :(得分:0)

在任何地方添加Image-Control,将其Source绑定到“NameAndCount”并使用IValueConverter将其转换为图像路径。