I have a TreeView
of items and I want a ContextMenu
to pop up only for the second tier items. How do I go about doing that?
質問する
2217 次
2 に答える
5
あなたがあなたTreeView
をアイテムのリストにバインドしていると仮定しています。もしそうなら、項目の第 1 層と第 2 層は異なるデータ型であるか、または異なる可能性がありますか? HierarchicalDataTemplate
次に、次のように、最初の層のタイプとDataTemplate
2 番目の層のタイプに対してa を実行できます。
<HierarchicalDataTemplate DataType="{x:Type local:FirstTierType}" ItemsSource="{Binding Items}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" />
</StackPanel>
</HierarchicalDataTemplate>
<DataTemplate DataType="{x:Type local:SecondTierType}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" />
<StackPanel.ContextMenu>
<ContextMenu>
<MenuItem Header="whatever1" Command="whatever1cmd"></MenuItem>
<MenuItem Header="whatever2" Command="whatever2cmd"></MenuItem>
<MenuItem Header="whatever3" Command="whatever2cmd"></MenuItem>
</ContextMenu>
</StackPanel.ContextMenu>
</StackPanel>
</DataTemplate>
.
.
.
<TreeView ItemsSource="{Binding Items}" />
于 2013-08-15T03:41:11.030 に答える