2015-11-10 402 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); 
} 

那麼我不知道你的具體哪個但只是爲了減少方法