我最近完成了使用 Universal Apps 8.1 技术的应用程序。现在,我正在使用 Windows 10 的设备以及版本 10.0.10586.0 的模拟器上测试我的应用程序,但 MessageDialog 存在很大问题。
我有一个简单的应用程序 Universal app 8.1,它重现了问题。这是 XAML:
<StackPanel>
<TextBox />
<PasswordBox />
<Button Click="Button_Click" />
</StackPanel>
并且代码隐藏中有一个事件:
private async void Button_Click(object sender, RoutedEventArgs e)
{
MessageDialog msgDialog = new MessageDialog("a");
await msgDialog.ShowAsync();
}
当用户点击输入时,一切都很好。但是当用户点击按钮时,会显示 MessageDialog,之后,事情变得混乱,输入停止正常工作。例如 LostFocus 事件未触发并且输入保持焦点状态。
当您将此代码放入 UWP 项目并部署到 Windows 10 移动设备/模拟器时,一切都很好。
有任何想法吗?
PS ContentDialog 工作正常,但不支持 Windows 8.1。
编辑:
此处:https ://onedrive.live.com/redir?resid=9F03F4A20B9FFCD!24843&authkey=!AHPXxcxSoPJnw3U&ithint=file%2czip是带有示例应用程序和屏幕截图的 zip。
我已经在版本 10.0.10586 的模拟器上的 Visual Studio 2015 Update 1 以及具有相同版本的设备上对此进行了测试。
这是我的测试场景:
1)点击文本框
2) 点击密码框
3)点击屏幕上的任意位置
4)结果(1.png)
未选择文本框
未选择密码框
键盘被隐藏
5) 点击按钮
6) 使用关闭按钮关闭 MessageDialog
7)点击文本框
8) 点击密码框
10)点击屏幕上的任意位置
11) 结果 (2.png)
选择文本框(有时)
密码框被选中
显示键盘