0

ドックパネル内にツリービューがあり、ツリービューのすべての要素は 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 をラップしています。追加しようとしているアイコンは、文字列にバインドされてテキスト ボックスとして表示される 2 番目の HierarchicalDataTemplate にあります。「NameAndCount」の名前に応じて、左側の横に表示するアイコンを選択します。

私の例の解決策に関するアイデアはありますか? それとも、StackPanel のような別のテンプレートを使用することを考える必要がありますか?

4

1 に答える 1

0

必要な場所にImage-Controlを追加し、そのSourceを "NameAndCount"にバインドし、IValueConverterを使用してそれをimage-pathに変換します。

于 2012-09-26T20:50:27.200 に答える