0
如果我在<Menu>
元素的WPF應用程序中按Alt鍵,則第一個菜單條目將變得焦點。 如何防止此行爲。防止WPF中的Alt鍵對焦Mainmenu
我的問題是我有一個Scintilla.Net組件在我的窗口中有多選,當我嘗試選擇一個矩形選擇時(通過按住Alt鍵),只要我讓Alt鍵去,我的組件就失去了焦點。
Here是一個類似的問題,但不幸的是它是關於Windows Forms和WPF不
如果我在<Menu>
元素的WPF應用程序中按Alt鍵,則第一個菜單條目將變得焦點。 如何防止此行爲。防止WPF中的Alt鍵對焦Mainmenu
我的問題是我有一個Scintilla.Net組件在我的窗口中有多選,當我嘗試選擇一個矩形選擇時(通過按住Alt鍵),只要我讓Alt鍵去,我的組件就失去了焦點。
Here是一個類似的問題,但不幸的是它是關於Windows Forms和WPF不
我沒有這樣的組件,但它應該工作一樣在TextBox
例如。
將事件處理程序上的Window
爲KeyDown
事件:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApplication1"
Title="MainWindow" Height="350" Width="525" KeyDown="Window_KeyDown">
並檢查你想要的組合鍵隱藏代碼:
private void Window_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.System && e.OriginalSource is TextBox)
{
e.Handled = true;
}
}
在你的榜樣,重要的是檢查不Key.LeftAlt
,但Key.System
並將OriginalSource
支票從TextBox
更改爲所需的類型。
謝謝你的工作。作爲參考:因爲Scintilla組件居住在WindowsFormsHost內,WindowsFormsHost作爲OriginalSource提供。 – Mikescher