【发布时间】:2010-04-19 02:18:15
【问题描述】:
我希望 Escape 键关闭我的 WPF 窗口。但是,如果有一个控件可以使用该 Escape 键,我不想关闭窗口。按下 ESC 键时如何关闭 WPF 窗口有多种解决方案。例如。 How does the WPF Button.IsCancel property work?
但是,此解决方案会关闭窗口,而不考虑是否存在可以使用 Escape 键的活动控件。
例如。我有一个带有 DataGrid 的窗口。 dataGrid 上的一列是组合框。如果我要更改 ComboBox,然后点击 Escape,则控件应该退出组合框的编辑(正常行为)。如果我现在再次点击 Escape,那么窗口应该关闭。我想要一个通用的解决方案,而不是编写大量的自定义代码。
如果你能在 C# 中提供解决方案,那就太好了。
【问题讨论】: