WPF 窗口显示对话框() 导致无法设置可见性或调用显示

本文关键字:显示 设置 可见性 调用 对话框 窗口 WPF | 更新日期: 2023-09-27 18:33:06

我正在创建一个wpf表单,该表单将用于从datagrid添加/编辑数据。但是,当我检查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。显示对话框();它开始按预期工作

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

WPF 窗口显示对话框() 导致无法设置可见性或调用显示

您每次调用ShowDialog()都尝试打开窗口 2 次

尝试

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可为空。如果有可能在未设置对话框结果的情况下关闭窗口,请检查null