當用戶點擊一個快捷鍵(通過改變它的IsOpen屬性爲true),我打開一個文本菜單。但是當它打開時,沒有選擇項目。我怎樣才能使第一個項目被選中,以便用戶不必按下向下箭頭即可到達它?如何讓WPF ContextMenu在打開時自動選擇第一個項目?
2
A
回答
1
試試這個:
<ListBox>
<ListBoxItem Content="Item">
<ListBoxItem.ContextMenu>
<ContextMenu Opened="ContextMenu_Opened">
<MenuItem Click="some_event" Header="Qwerty"/>
</ContextMenu>
</ListBoxItem.ContextMenu>
</ListBoxItem>
</ListBox>
而在後臺代碼:
private void ContextMenu_Opened(object sender, RoutedEventArgs e)
{
var contextMenu = sender as ContextMenu;
(contextMenu.Items[0] as MenuItem).Focus();
}
0
我不知道哪個控制(Datagrid中,ListView控件或其他)你打算選擇。但是,您需要檢查的第一件事是,您的控件是否支持KeyPress
事件。如果支持,那麼嘗試將處理程序KeyPress
和編寫邏輯相應檢查所需的鍵,然後選擇項目。
您可以檢查這對如何根據Enter鍵選擇數據網格單元/行執行的樣本here。
相關問題
- 1. 當第一次點擊時打開另一個ContextMenu項目
- 2. jQuery在單個選擇時自動選擇第一個選項
- 3. 當數據可用時,Comboxbox自動選擇第一個項目
- 4. ContextMenu項目選擇?
- 5. 如何讓Xcode不自動打開以前打開的項目
- 6. 選擇第一個項目
- 7. 在ContextMenu打開動作上設置選定的項目wp7
- 8. ContextMenu選擇舊項目
- 9. 如何自動打開第一選擇的「手風琴」?
- 10. 如何從jQuery自動完成列表中自動選擇第一個項目
- 11. DataGrid在開始時選擇第一項
- 12. 如何在打開下拉菜單後自動選擇第一個'li'?
- 13. auto_complete_for:防止自動選擇第一個項目
- 14. ListBox始終自動選擇第一個項目
- 15. 從選擇中選擇一個項目後打開模型? Laravel
- 16. 選擇第一個選項時自動更改第二個下拉列表
- 17. Jquery自動完成 - 當選擇一個項目時,光標移動到開始
- 18. 如何在Spinner中選擇項目以打開新的活動
- 19. 選擇kendoComboBox中的第一個項目
- 20. 如何在選擇項目時保持組合框打開
- 21. 選項卡式活動在啓動時打開第二個選項卡
- 22. 如何讓第一個選擇選項返回空值
- 23. 選擇RadComboBox中的第一個項目
- 24. WPF組合框自動選擇如果只有1個項目
- 25. 菜單:如何自動選擇第一個子項
- 26. 如何強制關閉ContextMenu(WPF項目)?
- 27. WPF ContextMenu複雜項目保持打開點擊?
- 28. 如何讓ToolStripMenu在點擊一個項目後打開
- 29. 讓PHP實時選擇一個選項?
- 30. 當選擇第一個選項時顯示另一個選擇