可能重复:
How can I assign the 'Close on Escape-key press' behavior to all WPF windows within a project?如何关闭在WPF中的窗口上的Esc键
我想关闭的窗户,我的WPF项目,当用户点击退出按钮。我不想在每个窗口中编写代码,但希望创建一个可以捕获用户按下转义键时的类。
可能重复:
How can I assign the 'Close on Escape-key press' behavior to all WPF windows within a project?如何关闭在WPF中的窗口上的Esc键
我想关闭的窗户,我的WPF项目,当用户点击退出按钮。我不想在每个窗口中编写代码,但希望创建一个可以捕获用户按下转义键时的类。
选项1
使用Button.IsCancel财产。
<Button Name="btnCancel" IsCancel="true" Click="OnClickCancel">Cancel</Button>
当您设置一个按钮,真正的IsCancel属性,创建与AccessKeyManager注册的 按钮。该按钮是 然后在用户按下ESC键时激活。
但是,这只适用于对话框。
1选项
你的窗口,如果你想关闭Esc键按下Windows添加一个处理程序PreviewKeyDown。
public MainWindow()
{
InitializeComponent();
this.PreviewKeyDown += new KeyEventHandler(HandleEsc);
}
private void HandleEsc(object sender, KeyEventArgs e)
{
if (e.Key == Key.Escape)
Close();
}
我不想使用一个按钮...任何hw谢谢,我找到了解决方案 –
@kishorejangid:第二个代码示例不使用按钮。 – CharithJ
@kishorejangid - 你可以在这里发布你的答案吗? –
这不是我的解决方案..我甚至不想在每个窗口中完成。我想写的风格,但那不是工作作为欢迎使用属性是不可用的风格 –
退房[这里] [1]的信息 - 它解释exactlyhow实现这一 [1] :http://stackoverflow.com/questions/3863431/how-can-i-assign-the-close-on-escape-key-press-behavior-to-all-wpf-windows-with –
这是一个重复的http://stackoverflow.com/questions/419596/how-does-the-wpf-button-iscancel-property-work –