我有一個窗口,有3種類型的內容可以顯示(它們都是UserControl類型)。C#WPF內容切換
1)登錄視圖
2)應用程序的查看
3)錯誤報告
請告訴我最適當的方式將這些之間切換?我的想法是在構造函數中傳遞Window的實例,然後解決它的內容。
Content = new LoginView(this);
,然後改變從LoginView內容,
public LoginView(Window wnd){
InitializeComponents();
wnd.Content = new MainView(wnd);
}
,但這不會更新窗口的內容,它是引起作爲窗口的當前內容的調用者(LoginView)?如果是這樣的話,處理這種情況的正確方法是什麼?
另請注意,所提供的代碼段不包含任何邏輯,我只是簡單地根據需要將其展示出來,以演示我正面臨的問題。
編輯:基本上這些控制之間的連接是這樣的:
1)登錄視圖
- 應用程序啓動時
- 當應用程序窗口發送返回未授權
2)應用程序的查看
- 處理所有應用程序的feautures
3)錯誤視圖
- 在出現錯誤時替換應用/登錄視圖並通知用戶有關如何操作
[考慮使用](https://wpftoolkit.codeplex.com/wikipage?title=Wizard)[嚮導](http://www.codeproject.com/Articles/31837/Creating-an-Internationalized-Wizard -in-WPF)[控件的種類](http://msdn.microsoft.com/en-us/library/aa972123(v = vs.85).aspx):p – Kilazur 2014-08-29 13:13:24
這個想法是正確的,但你應該處理「導航「,而不是在控件構造函數中。 – Pragmateek 2014-08-29 13:14:05
這些表單共享什麼關係?它聽起來像應用程序窗體應該控制打開其他窗體 – Sayse 2014-08-29 13:16:30