Mik*_*her 1 c# wpf keyboard-shortcuts
如果我Alt在 WPF 应用程序中按下带有<Menu>元素的键,则第一个菜单条目将获得焦点。我怎样才能防止这种行为。
我的问题是我的窗口中有一个带有多选功能的Scintilla.Net组件,当我尝试选择一个矩形选择(通过按住 Alt 键)时,只要我松开 Alt 键,我的组件就会失去焦点。
这是一个类似的问题,但不幸的是它是关于 Windows 窗体而不是 WPF
我没有那个组件,但它应该像 on 一样工作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">
Run Code Online (Sandbox Code Playgroud)
并在代码隐藏中检查您想要的组合键:
private void Window_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.System && e.OriginalSource is TextBox)
{
e.Handled = true;
}
}
Run Code Online (Sandbox Code Playgroud)
在您的示例中,重要的是不要检查Key.LeftAlt,而是Key.System将OriginalSource检查从更改为TextBox您想要的类型。
| 归档时间: |
|
| 查看次数: |
1261 次 |
| 最近记录: |