我在 TreeViewItems 上有一个带有 ContextMenu 的 TreeView。当我右键单击 TreeViewItems 时,contextMenu 显示得非常好。但我不希望 ContextMenu 出现在父项上。它应该只出现在子节点上。我在 TreeView 中只有一个层次结构,即 N 个父母将有 M 个孩子都在同一级别。这是我的 TreeView 和 ContextMenu 的 XAML
<TreeView Margin="2,0,0,0" ItemsSource="{Binding SourceData}" Width="390">
<TreeView.ItemContainerStyle >
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsSelected" Value="{Binding DataContext.IsSelected, Mode=TwoWay, RelativeSource={RelativeSource Self}}" />
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu Name="contextMenu" DataContext="{Binding PlacementTarget.DataContext, RelativeSource={RelativeSource Self}}" >
<MenuItem Name="menuItem" Header="Rename" Command="{Binding RenameCommand}" />
</ContextMenu>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
</Trigger>
</Style.Triggers>
</Style>
</TreeView.ItemContainerStyle >