ここで尋ねられたものに似たものが 必要ですが、列挙型であるプロパティの値に依存するテンプレートが必要です。
クラスはこれに似ています:
class ResultBlock
{
public string Name { get; set; }
public BlockType Type { get; set; }
public IList<ResultBlock> ChildBlocks { get; private set; }
}
ここでBlockType
、3つの異なる値があります。-次に、現在のオブジェクトのBLOCK, FILE, FOLDER
値に応じて、異なる方法で表示するデータテンプレートを作成します。ResultBlock.Type
でこれを試してみましDataType=
たが、明らかにうまくいきませんでした。XAMLのみでこれを非常に簡単に行う方法があると確信しています。
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type docom:ResultBlock}" ItemsSource="{Binding ChildBlocks}">
<StackPanel Orientation="Horizontal">
<StackPanel.Resources>
<DataTemplate DataType="{x:Type docom:BlockType.BLOCK}">
<TextBlock Text="BLOCK:{Binding Name}" />
</DataTemplate>
</StackPanel.Resources>
</StackPanel>
</HierarchicalDataTemplate>
</TreeView.Resources>