0
我已經給我的WPF的ListView的上下文菜單:爲WPF列表視圖定義上下文菜單
<TreeView ContextMenuOpening="TreeView_ContextMenuOpening">
<TreeView.ContextMenu>
<ContextMenu>
<MenuItem Name="NewInputMenuItem" Header="Add" Click="AddInputMenuItem_Click" />
<MenuItem Name="RemoveInputMenuItem" Header="Remove" Click="RemoveInputMenuItem_Click" />
</ContextMenu>
</TreeView.ContextMenu>
<!-- etc... -->
</TreeView>
,因爲我想無論在顯示相同的上下文菜單中,我定義的TreeView
而非TreeViewItem
上下文菜單是否選擇了一個項目,但是我希望僅當用戶右鍵單擊某個項目時,才能啓用「刪除」菜單項,而不僅僅是菜單中的空白區域。
我目前處理這個的方式是使用TreeView
(在TreeView_ContextMenuOpening
事件處理程序中)的選定項屬性,但是問題是右鍵單擊樹視圖項會打開該樹的上下文菜單查看而不是更改樹視圖項目的選定狀態。
另外,我不禁想,所有的上面是非常聯合國WPF樣,所以:
- 我怎樣才能讓這個當用戶在樹視圖項鼠標右擊,該項目被選中。
- 有沒有更好的方法來實現上述?