我有 2 個窗口(窗口 1 和窗口 2)。在窗口 2 上時,我使用 ShowDialog 隱藏窗口 1。在窗口 1(頁面 A)中,我單擊一個按鈕,進入窗口 2(頁面 B)。在窗口 2(頁面 B)上發生操作,我必須將處理后的答案傳遞回窗口 1(頁面 A)。我在窗口 1(頁面 A)的頂部有一個名為 ProcessedAnswer 的變量,一旦編譯器從 ShowDialog 運行,我就調用該值 ProcessedAnswer。有沒有一種方法可以在不同窗口上的頁面之間傳遞此值,而無需創建頁面的新實例?
1 回答

神不在的星期二
TA貢獻1963條經驗 獲得超6個贊
根據 MVVM 設計模式,我建議您在 Windows 1 中使用 ViewModel 并通過 Windows 2 傳遞它。如下所示:
Windows1.cs
ViewModel2 vm2 = new ViewModel2();
...
windows2.DataContext = vm2;
if(windows2.ShowDialog() == true)
{
ProcessedAnswer = vm2.something;
}
Windows2.cs
(DataContext as ViewModel2).something = somevalue;//here you can modify the passing value and pass it when ShowDialog finish
- 1 回答
- 0 關注
- 132 瀏覽
添加回答
舉報
0/150
提交
取消