我有 2 个窗口(窗口 1 和窗口 2)。在窗口 2 上时,我使用 ShowDialog 隐藏窗口 1。在窗口 1(页面 A)中,我单击一个按钮,进入窗口 2(页面 B)。在窗口 2(页面 B)上发生操作,我必须将处理后的答案传递回窗口 1(页面 A)。我在窗口 1(页面 A)的顶部有一个名为 ProcessedAnswer 的变量,一旦编译器从 ShowDialog 运行,我就调用该值 ProcessedAnswer。有没有一种方法可以在不同窗口上的页面之间传递此值,而无需创建页面的新实例?
1 回答
神不在的星期二
TA贡献1963条经验 获得超6个赞
根据 MVVM 设计模式,我建议您在 Windows 1 中使用 ViewModel 并通过 Windows 2 传递它。如下所示:
Windows1.cs
ViewModel2 vm2 = new ViewModel2();
...
windows2.DataContext = vm2;
if(windows2.ShowDialog() == true)
{
ProcessedAnswer = vm2.something;
}
Windows2.cs
(DataContext as ViewModel2).something = somevalue;//here you can modify the passing value and pass it when ShowDialog finish
- 1 回答
- 0 关注
- 92 浏览
添加回答
举报
0/150
提交
取消