【发布时间】:2017-11-24 01:18:14
【问题描述】:
我想从我的 WPF 窗口中获得一个返回值而不关闭它。
我有一个内部带有 WPF 用户控件的 DLL,我从我的 DLL 代码中调用它。 我必须调用它,它返回数据,然后我发送数据。 但我不想为同一个窗口创建两个不同的实例。
我的代码:
MP.UserControl1 a = new MP.UserControl1();
a.ShowDialog();
if (a.DialogResult.HasValue && a.DialogResult.Value == true)
{
a.Hide();
InitialDatas = a.inputData;
}
else
return 0;
然后我详细说明 InitialDatas
现在我想在我的“a”中调用一个方法,并再次显示它,而不创建新窗口。
代码:
a.SetValue(result, off1, InitialDatas);
a.ShowDialog();
我收到错误消息:关闭窗口后无法设置可见性或调用 Show、ShowDialog 或 EnsureHandle 能解决吗?
【问题讨论】:
-
对话框必须是模态的吗?为什么不将数据/结果存储在 ViewModel 中并简单地创建对话框的新实例并将其指向同一个 ViewModel 实例?