0
我有一个wpf应用程序,它将最小化工作。当系统从睡眠中醒来时,应用程序将显示第二个窗口。在第二个窗口中有一个组合框和一个按钮。当我点击按钮时,它应该使用组合框的值在主窗口中设置一个变量的值。但问题是主窗口中的变量在第二个窗口中无法访问。这个怎么做??我在网上搜了很多。但无法找到工作解决方案。有什么建议么??从第二个窗口获取值到wpf的主窗口
我有一个wpf应用程序,它将最小化工作。当系统从睡眠中醒来时,应用程序将显示第二个窗口。在第二个窗口中有一个组合框和一个按钮。当我点击按钮时,它应该使用组合框的值在主窗口中设置一个变量的值。但问题是主窗口中的变量在第二个窗口中无法访问。这个怎么做??我在网上搜了很多。但无法找到工作解决方案。有什么建议么??从第二个窗口获取值到wpf的主窗口
你可以使用事件/委托的方式获得它:
一段代码,总结式:
您的第一个窗口创建第二个时做
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);
}
那么我不知道你的具体哪个但只是为了减少方法
2解决方案 - 1.创建子窗口时您需要将主窗口中的某个EventHandler挂钩到子窗体的某个事件。 2.阅读关于观察者设计模式 – MajkeloDev
您可以对两个窗口使用相同的ViewModel .... – Spawn
尝试使用EventAggregator。 https://msdn.microsoft.com/en-us/library/ff921122.aspx – cscmh99