2011-03-24 66 views
2

我不確定這是不是一個建立應用程序的壞方法,但假設我有30個WPF Windows用於我的應用程序中的不同屏幕。我想將它們構建到一個DLL中,所以我想知道是不是將每個窗口創建爲一個窗口是不好的設計,如果我可以有一個窗口來託管任何一個窗口打開。所以窗戶實際上是一個用戶控件,或者至少像一個。 因此,當您想要轉到其他屏幕時,只需將1窗口的內容更改爲您要顯示的「usercontrol」的內容即可。這是否有意義,或者你可以看到可能這樣做的問題?謝謝。使用usercontrols而不是windows

+1

這是多文檔界面(MDI)。您還可以使用Tabbed MDI for WPF,這在當今更受歡迎。請參閱http://stackoverflow.com/questions/1026912/tabbed-document-interface-in-wpf-using-only-on-board-means – 2011-03-24 21:03:37

回答

1

這可能是一個好方法,但您需要考慮每個屏幕是否屬於同一個窗口。例如,每個用戶控件都會使用窗口中的所有空間,還是會出現一些視覺問題?你的窗口的內容,你的數據,以及窗口如何處理這些數據也可能會產生影響。

您可能想要查看諸如MVCMVVM(更受WPF歡迎)的設計模式。

+0

是的,我也在想這個,但我只是試圖解釋爲簡單儘可能讓我的觀點貫穿始終 – bflosabre91 2011-03-24 21:12:05

1

這聽起來像比30個獨立窗口更好的解決方案:)沒有錯。

您可能需要閱讀有關演示文稿模式的內容,以便更好地理解如何使用多個屏幕管理應用程序。根據傑里米·米勒(Jeremy Miller)製作的一本書以及馬丁福勒(Martin Fowler)的貢獻,在Presentation Patterns上看看這個優秀(但不完整)的wiki。

如果它適用於您的情況,並且嘗試使用谷歌搜索,請仔細閱讀每個模式的摘要以獲取想法。該維基中的許多模式最近都在進化,迄今爲止,它們的最佳資源是不同的博客條目和不明確的郵件列表。但值得挖掘,因爲在這個領域有一些真正靈感的信息寶藏。演示模式是一件非常有趣的事情!

1

從你說的我在想,也許頁面比控件更好用。在這種情況下,您可以在主窗口中使用框架控件來支持頁面之間的導航(或隱藏導航按鈕並直接從代碼導航)。

相關問題