8
A
回答
15
你可以做的是在打開第二個窗口之前,將主窗口指定爲其所有者,然後從模態窗口調用Owner屬性,將其轉換爲MainWindow對象,然後您就可以執行該方法。
// Code in main window
ModalWindow window = new ModalWindow();
window.Owner = this;
window.ShowDialog()
//Code on the modal window
var myObject = this.Owner as MainWindow;
myObject.MyMethod(); // Call your method here.
2
有很多方法可以做到這一點。
您可以重載模態窗口的構造函數,以便您可以傳入對該函數或主窗口的引用。或者,將屬性添加到該窗口。
您還可以在顯示模態窗口的主窗口代碼的下一行中啓動計時器。
2
如果這個示範窗口將從
MainWindow
打開,這樣讓我們說modalWindow.ShowDialog()
這是不夠的只是這個調用後添加代碼,它會之後的執行模態窗口關閉。
如果模態窗口打開的形式在其他地方,但在收盤應該運行在complitely無關的部分代碼,可以使用,例如,Commands或RelayCommand(一種直接委託調用的)。
希望這會有所幫助。
0
您可以將事件處理程序附加到模式對話框的「關閉」事件,該對話框在對話框觸發此事件時將在主程序中執行。
5
public class ModalWindow : Window
{
private MainWindow _parent;
public ModalWindow(MainWindow parent)
{
_parent = parent;
Owner = parent;
}
void CallParent()
{
_parent.Call();
}
}
我建議這種模式是代碼味道。
如果您的目標是將信息從模態傳遞給父模型,最好暴露模態窗口上的屬性,並在關閉後讀取這些值並執行父代中必需的操作。
如果你的目標是要調用ShowDialog().
相關問題
- 1. 從主窗口(窗口)調用WPF視圖(UserControl)方法
- 2. 從彈出窗口調用主窗口
- 3. 主窗口中的WPF窗口
- 4. 你可以調用模態窗口中的模態窗口嗎?
- 5. 如何從wpf頁面調用模態窗口?
- 6. 主WPF窗口如何知道次WPF窗口何時關閉
- 7. WPF。如何從另一個窗口隱藏/顯示主窗口
- 8. 父窗口上方的子窗口wpf
- 9. 來自主線程的WPF窗口中的調用方法
- 10. 如何主題ctools模態窗口
- 11. 禁用主窗口WPF
- 12. wpf動態窗口
- 13. WPF主題的動態窗口背景
- 14. 從第二個窗口獲取值到wpf的主窗口
- 15. 調用父窗口方法
- 16. ng-click從工廠方法調用模態窗口
- 17. WPF模態窗口作爲WinForms中的工具窗口消失
- 18. QT - 帶子窗口的模態窗口
- 19. 模態窗口後的Wicket Moda窗口
- 20. 從窗口中拖動窗口WPF
- 21. SharePoint。從模態窗口重定向到非模態窗口?
- 22. 主機在另一個WPF窗口中的WPF窗口
- 23. 如何在模態窗口中執行opener窗口中的方法?
- 24. 從窗體打開的模態窗口
- 25. CSHARP WinForm的模態窗口,可以點擊主窗口
- 26. 運行在C#中的另一個窗口在主窗口的方法WPF
- 27. 從ChildWindow的主窗口調用的方法使用MEF
- 28. 從灰框窗口調用ManagedBean方法
- 29. 從Iframe調用父窗口方法
- 30. 如何在父窗口關閉時從子窗口訪問父窗口方法?
之前從父傳遞信息模式,然後將它傳遞到構造函數或公共屬性我得到這個:「不能所有者屬性設置爲尚未所示的窗口先前」。看起來window.Owner不能在ShowDialog之前... – pzogr