2015-11-10 195 views
0

我有一个wpf应用程序,它将最小化工作。当系统从睡眠中醒来时,应用程序将显示第二个窗口。在第二个窗口中有一个组合框和一个按钮。当我点击按钮时,它应该使用组合框的值在主窗口中设置一个变量的值。但问题是主窗口中的变量在第二个窗口中无法访问。这个怎么做??我在网上搜了很多。但无法找到工作解决方案。有什么建议么??从第二个窗口获取值到wpf的主窗口

+0

2解决方案 - 1.创建子窗口时您需要将主窗口中的某个EventHandler挂钩到子窗体的某个事件。 2.阅读关于观察者设计模式 – MajkeloDev

+0

您可以对两个窗口使用相同的ViewModel .... – Spawn

+0

尝试使用EventAggregator。 https://msdn.microsoft.com/en-us/library/ff921122.aspx – cscmh99

回答

0

你可以使用事件/委托的方式获得它:

一段代码,总结式:

您的第一个窗口创建第二个时做

Window1 win = new Window1(); 
win.GetEvent += win_GetEvent; 
win.ShowDialog(); 

而且在你有第二个窗口:

public object ValueToGet; 
public delegate object GetValueDelegate(object _value); 
public event GetValueDelegate GetEvent; 
public Window1() 
{ 
     InitializeComponent(); 
     GetEvent.Invoke(ValueToGet); 
} 

那么我不知道你的具体哪个但只是为了减少方法