【问题标题】:Can I use dialogs and DialogResult on a UserControl with WPF?我可以在带有 WPF 的用户控件上使用对话框和 DialogResult 吗?
【发布时间】:2011-07-16 10:20:42
【问题描述】:

我有一个 UserControl,我需要从对话框中获取输入。但是,当我尝试这样做时:

        AddPassword addPassword = new AddPassword();

        if(addPassword.ShowDialog() == == DialogResult.GetValueOrDefault())
        {
            if (addPassword.sTitle != ""
                && addPassword.sUser != ""
                && addPassword.sPass != "")
            {
                LogIn login = new LogIn(addPassword.sTitle, addPassword.sUser, addPassword.sPass);
                LogIns.Add(login);

                lstbxLogins.Items.Add(login.GetTitle());
            }
        }

它没有找到 DialogResult。

我真的可以这样做吗?

谢谢

【问题讨论】:

  • 如果您要对新用户进行排名,至少有礼貌地说明原因。 +1
  • “没有找到 DialogResult”是什么意思?你不能编译这个或者你没有从“addPassword.ShowDialog()”得到预期的结果?
  • 当我使用 DialogResult.GetValueOrDefault() 时无法编译。现在,如果我只是执行这个 if 语句 if(addPassword.ShowDialog()),我从窗口返回的值是 null。

标签: wpf user-controls dialog dialogresult


【解决方案1】:

方法ShowDialog返回bool?,所以你应该像这样检查结果:

if(addPassword.ShowDialog().GetValueOrDefault())
{
   ...
}

【讨论】:

  • @Homero - 这意味着您在窗口关闭后调用 ShowDialog() (您是否在窗口的同一实例上多次调用它?)。但是我在您提供的代码中没有看到它,所以问题可能出在其他问题上。
猜你喜欢
  • 1970-01-01
  • 2011-04-17
  • 1970-01-01
  • 1970-01-01
  • 2016-01-05
  • 1970-01-01
  • 1970-01-01
  • 2015-04-05
  • 2019-06-21
相关资源
最近更新 更多