如何解决在Windows 10 UWP和ContentDialog中使用键盘加速键和键盘访问键
使用Windows 10 UWP内容对话框时,对话框后面的页面“显示为灰色”,并且按钮和其他控件对单击事件不响应(良好!)。但是,我发现键盘加速器(例如CTRL-X)或键盘访问键(例如Alt-A)仍然处于活动状态。这可能会导致很多问题(在我的情况下,要么重新调用出现错误的内容对话框,要么在对话框仍处于活动状态时离开页面)。我发现的唯一解决方法是在显示内容对话框时手动禁用所有受影响的控件,但是我希望有人能有更好的解决方案。
更新: 感谢您的评论。我创建了一个新项目进行仔细检查,并且还仔细检查了自己的项目。我发现的是:我在KeyboardAccelerator(即CTRL-X)上的错误不起作用(应该不会)。但是,我已经确认,在我的简单测试项目和我的原始测试项目中,AccessKey(即ALT-X)确实可以与显示的内容对话框一起使用。参见下图...选择ALT会在对话框打开的情况下突出显示键,并且按下“ s”或“ x”确实会触发按钮单击事件。
解决方法
我认为我找到了一个很好的解决方案(至少对于我的用例而言)。我创建了一个通用函数来调用任何ContentDialogs。我将当前页面传递给该函数。在显示对话框之前,我将Page.IsEnabled属性设置为false,然后在关闭对话框时退出函数时将其设置为true。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。