2011-03-03 54 views
0

我必須現在創建一個帶有MVVM的多屏Silverlight 4 RIA應用程序。如何:多屏幕/區域Silverlight應用程序?

這些屏幕中的每一個都必須分爲多個區域(例如master-detail場景,而每個區域是不同的區域,另一個區域則控制另一個區域)。

你可以給我一些想法什麼應該是正確的方式來實現這樣的應用程序?
棱鏡是正確的選擇嗎?我開始閱讀Prism手冊,非常喜歡以非常靈活的方式對區域和屏幕進行切換和控制的想法,但是,如上所述,我發現將它分散到許多裝配體上太過於矯枉過正。

如果棱鏡是正確的選擇,那麼我希望在這個特別的情況下任何指導或參考指導(多屏&地區和OTOH沒有得到我的解決辦法發現有一個極大的項目。

回答

1

我相信PRISM是構建具有多個區域和視圖的應用程序的正確選擇您可以爭辯說,這幾乎是複合應用程序的定義

但是我還記得您不必使用所有組件PRISM有,你可以選擇,我建議你考慮PRISM和測試/原型的每個方面來確保你對所提供的設備感到滿意。在我建立的一個大型應用程序中,我使用了PRISM,但在一些原型調查後,我只使用了EventAggregator和Modularity功能。

我選擇不使用區域支持,因爲我發現使用Silverlight中的ItemControl和ContentControl組件可以將視圖和局部視圖注入到我的界面中。

我從ASP.NET MVC中發現經驗證明在考慮如何協調/將我的UI分解爲部分視圖時很有用。

希望有所幫助。 Stocktrader應用程序是一個很好的示例,可以學習(包含在PRISM可分發程序中)。

+0

@Rus,謝謝你的回覆。 StockTrader應用程序使用散佈在不同程序集中的區域,我希望將它全部集成到一個程序集中(即,我希望至少在一個程序集中使用所有ViewModel)。 – Shimmy 2011-03-05 19:32:41

+0

@Shimmy,你可以在StockTrader中使用區域方法,但如果需要,可以在單個項目/命名空間/程序集中包含所有視圖和viewModels。 Stocktrader應用程序試圖儘可能多地展示PRISM,但您可以採取自己想要的方式並使用自己的方法。 – Rus 2011-03-05 19:39:07

+0

@Rus,事情是我想切換很多屏幕看起來完全不同,是不是取代'殼牌?這是如何完成的?你能否在這方面向我推薦一篇好文章,即嵌入視圖和維護屏幕工作流程? – Shimmy 2011-03-07 01:20:25

相關問題