我有一個父窗口,它在子窗口中做了一些選擇/操作後關閉了子窗口,我想將一些信息發送回父窗口(一個自定義類對象),使用WPF提供的功能在WPF中完成此操作的最佳方式是什麼?wpf中父窗口和子窗口之間的通信
5
A
回答
5
你有很多選擇:
- 你可以在父窗口聽
- 您可以定義在引用的方法在父的子窗口的委託你的子窗口中使用自定義事件窗口
- 您可以更改子窗口的構造函數以引用父窗口並使用該引用調用父窗口上的方法
- 您可以使用VisualTreeHelper類獲取父窗口並調用am ethod對參考
-1
從this link提取:
我發現從一個子窗口傳遞數據給 父窗口的最簡單方法是使用一個應用程序範圍內的屬性。此屬性是 的一個對象,並不是用於將數據從子窗口 窗口傳遞給父項的最優雅形式,但它是最少量的編程。最好的 這樣做的方法是使用get和set訪問器屬性。
創建一個主窗口(主窗口)創建一個子窗口(在這種情況下, 密碼)
在主窗口,子窗口必須證明,也就是說,一個 按鈕點擊之內。這個窗口會有一個按鈕來做一些事情,在這個 的情況下,它是從數據庫中刪除一條記錄。
private void btnDelete_Click(object sender, RoutedEventArgs e)
{
Password passwordentry = new Password();
passwordentry.ShowDialog();
if (Application.Current.Properties["PassGate"].ToString() == "mypassword")
{
Code, or call to delete the record;
}
Application.Current.Properties["PassGate"] = "";
}
在子窗口(密碼),應用程序的性能是使用文本框 集。這是一個簡單的窗口,它有一個名爲 PasswordTextBox的文本框和一些按鈕,如Accept和Cancel。
private void AcceptButton_Click(object sender, RoutedEventArgs e)
{
Application.Current.Properties["PassGate"] = PasswordTextBox.Text;
this.Close();
}
相關問題
- 1. 兩個瀏覽器窗口之間的通信:彈出窗口和父窗口
- 2. Qt中的父窗口和子窗口通信 - 子窗口打開兩次
- 3. 父窗口上方的子窗口wpf
- 4. 父窗口和子窗口
- 5. jQuery的父母和孩子iFrame窗口之間的通信
- 6. 在父窗口和子窗口之間傳遞值
- 7. 如何在父窗口和子窗口之間傳遞值
- 8. 如何在html中的兩個窗口之間傳遞參數[父窗口和子窗口之間的值]
- 9. Silverlight子窗口父窗口
- 10. js彈出窗口到主窗口之間的通信
- 11. C# - WPF中從子窗口到父窗口的返回變量
- 12. 父窗口處理來自WPF中子窗口的Keyup事件
- 13. 當父窗口是WPF時居中WinForm的子窗口
- 14. 在iframe和父窗口之間進行通信?
- 15. WPF設置父窗口(窗口)
- 16. PyQT4 - 兩個窗口之間的通信
- 17. 窗口之間的jQuery/JavaScript通信?
- 18. 如何在wpf中彈出子窗口時模糊父窗口
- 19. WPF MVVM在父窗口頂部打開新窗口,並將父窗口設置爲子窗口的所有者
- 20. 如何父窗口的子窗口
- 21. 如何將子窗口僅在WPF的父窗口內移動?
- 22. 電子多窗口通信
- 23. 父窗口,子窗口的嵌套窗體和自動創建
- 24. 在彈出窗口與父窗口通信的任何方法?
- 25. Win32,WndProc和父子窗口
- 26. WPF - 如何從子窗口值到父窗口
- 27. 從父窗口關閉子窗口
- 28. 父窗口打開子窗口
- 29. 關閉子窗口刷新父窗口
- 30. 從子窗口刷新父窗口