我有一个WPF应用程序,它包含一个MainWindow,里面还有一个常规按钮。 绑定到按钮单击事件我通过OpenFileDialog加载序列化对象:
private void LoadNetwork_Click(object sender, RoutedEventArgs e)
{
var openDialog = new OpenFileDialog { Multiselect = false };
var result = openDialog.ShowDialog();
if (result)
{
string file = openDialog.FileName;
try
{
_network= new SimplifiedNetwork(file, 1);
MessageBox.Show("Loaded OK");
}
catch (Exception)
{
MessageBox.Show("Load error");
}
}
}
执行此方法后,UI不再更新。当我什么都不说时,我的意思是甚至没有窗口上的按钮悬停效果工作(更不用说通过代码更新标签,属性更改事件,开始调用等),它就像它被冻结(但仍然响应点击)。
我认为这是我在例程中所做的事情,但只是将方法调用减少到
private void LoadNetwork_Click(object sender, RoutedEventArgs e)
{
var openDialog = new OpenFileDialog { Multiselect = false };
var result = openDialog.ShowDialog();
}
有相同的结果。
澄清。 - 这在模态对话框关闭后发生。 - 一旦UI因任何原因失去焦点(如最小化 - 恢复,切换到另一个窗口),它似乎也会出现。 - 这似乎只发生在我的Windows 8.1机器上(放在我周围的xp VM中,没问题)。
有什么想法吗?