2010-09-17 229 views
1

即時尋找一些提示和提示如何我可以建立我的應用程序在一個很好的方式。WPF如何設計一個多窗口應用程序?

所以這裏有一些信息:我目前的主窗口設計了一個網格,可容納4幀。它看起來像這樣。

menu

在底部,是一個讓您選擇不同的頁面菜單。我的主要區域大概有8頁,例如一個設置頁面和4個內容頁面。側邊欄顯示一些可以由用戶選擇的附加信息,而當打開一個內容頁面時,底部僅顯示一頁。 所以我的內容頁面有ViewModels來填充它們,我試圖在不久的將來使用命令,當我瞭解它們的所有功能;)。所以即時嘗試使用MVVM的方式,但即時通訊非常新。

我真的不需要像導航窗口中給出的導航菜單。

那麼它是像這樣的應用程序使用框架或有沒有更好的解決方案的最佳方式?

回答

1

框架支持WPF的內置導航基礎結構,因此如果您打算使用它,它們是一個不錯的選擇。它確實存在一些問題(至少包括我在內的一些人都這麼認爲),但對於簡單/小型的應用程序來說,它可以做得很好。當然,如果你想要推出自己的輕量級導航系統,他們也可以工作,就像我平時所做的那樣。我通常通過發送ViewModel的實例並將它們設置爲窗口或內容控件的內容來進行導航,並讓DataTemplates按照它們在視圖中定義的「打扮」它們。對於大型項目,我總是會推薦其中一款包含Prism或Magellan等導航系統的精美框架。

基本上這一切都取決於您的要求;有很多方法可以讓它正確。您嘗試使用MVVM很好,試圖堅持這一點,它通常會自動引導您朝好的方向發展。

我建議使用像AvalonDock對接庫來調劑你的應用程序了一點......但我與它一個痛苦的經驗,因爲它是不MVVM友好。我最近花了一個星期的一段時間與它搏鬥,以使它在MVVM場景中足夠用,我不確定它是否可以完成。可能還有其他庫可以更好地處理事情,但(像Visual Studio中的全功能)對接是一件複雜的事情,所以也許不要去那裏。對不起,我可能覺得在AvalonDock的挫折之後需要發泄。

+0

Sry說,我現在先回答,我是在假期;)因此thx爲偉大的答案,我想我現在得到一些東西,並會嘗試讓我的項目以正確的方式現在。 – Mark 2010-09-29 06:42:51

相關問題