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