我最近完成了使用Universal Apps 8.1技术的应用程序。现在,我正在使用Windows 10在设备上测试我的应用程序,也在10.0.10586.0版本的模拟器上测试我的应用程序,我对MessageDialog有很大的问题。
我有简单的应用程序通用应用程序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移动设备/模拟器时,一切都很好。
有什么想法吗?
P.S。 ContentDialog工作正常,但它不支持Windows 8.1。
此处:https://onedrive.live.com/redir?resid=9F03F4A20B9FFCD!24843&authkey=!AHPXxcxSoPJnw3U&ithint=file%2czip是带有示例应用和截图的zip。
我已在模拟器上的Visual Studio 2015 Update 1上使用版本10.0.10586以及具有相同版本的设备上进行了测试。
这是我的测试场景:
1)点击TextBox
2)点击PasswordBox
3)点按屏幕上的任意位置
4)结果(1.png)
未选择TextBox
未选择PasswordBox
键盘隐藏
5)点击按钮
6)使用关闭按钮
关闭MessageDialog7)点击TextBox
8)点击PasswordBox
10)点击屏幕上的任意位置
11)结果(2.png)
选择TextBox(有时)
选择了PasswordBox
显示键盘
答案 0 :(得分:1)
推向Insider的最新版操作系统解决了这个问题。 建立10.586.29。