3

我正在创建一个 wpf 表单,它将用于从数据网格添加/编辑数据。但是,当我检查时,ShowDialog() == true我得到了上述异常。

该代码取自一本书(Windows Presentation Foundation 4.5 Cookbook)。

UserWindow usrw = new UserWindow();
usrw.ShowDialog();
if (usrw.ShowDialog() == true)
{
     //do some stuff here;               
}

在 WPF 窗口中:

private void btn_Save_Click(object sender, RoutedEventArgs e)
{
   DialogResult = true;
   Close();
}

我该如何处理?

================================

该问题的解决方案是简单地删除 usrw.ShowDialog(); 它开始按预期工作

UserWindow usrw = new UserWindow();
//usrw.ShowDialog();
if (usrw.ShowDialog() == true)
{
     //do some stuff here;               
}
4

1 回答 1

6

您试图在每次调用时打开窗口 2 次ShowDialog()

尝试

UserWindow usrw = new UserWindow();
bool result =(bool)usrw.ShowDialog();
if (result)
{
     //do some stuff here;               
}

或者

UserWindow usrw = new UserWindow();
usrw.ShowDialog();
if ((bool)usrw.DialogResult)
{
    //do some stuff here;               
}

请记住,这DialogResult是可空的。如果您有可能在没有设置 DialogResult 的情况下关闭窗口,请检查null.

于 2013-09-29T11:58:25.580 回答