【发布时间】:2015-04-29 13:20:21
【问题描述】:
我有一个窗口 Window1
Window1 posta= new Window1();
posta.ShowDialog();
我继续处理posta 中的一些变量。我想将结果变量/整个方法返回给MainWindow。
我知道我可以在posta 中有全局变量,然后通过检索它们
if(posta.DialogResult()==true){
int wantedValue = posta.varResult; // varResult being the global variable of Window1
};
但这似乎是一种糟糕且低效的方法。
我尝试了以下操作,在 Window1 中有一个名为 myButton
Window1 posta= new Window1();
posta.myButton.MouseRightButtonDown += myButton_RMBdown;
posta.ShowDialog();
public void myButton_RMBdown(object Sender, MouseButtonEventArgs e){
// can access MainWindow variables but cant get to Window1 variables
}
有人愿意帮忙吗?
编辑:不使用数据绑定
【问题讨论】:
-
将变量添加到 MainWIdow 构造函数
-
@apomene 如果他关闭他的 MainWindow 就可以了,但如果他想保持他的 MainWindow 保持打开状态就不行了。
-
你可以通过参数调用windows,返回你需要的值。但是在那个窗口的承包商中,你必须定义参数和返回值的类型。
-
创建一个视图模型。在网上搜索 MVVM 和 WPF 数据绑定。