![](/img/trans.png)
[英]Prism for Silverlight: How to maintain views in a specific order inside a region
[英]Changing Region Views in Silverlight using Prism
我一直在學習Prism和Silverlight,現在我正在嘗試創建一個簡單的應用程序但是遇到了麻煩......
我所擁有的是帶有2個ContentControls的Shell,“MenuRegion”和“ContentRegion”。 我希望它工作的方式是用戶點擊“MenuRegion”中的項目,然后app.Region視圖將顯示在ContentRegion中,替換以前的View中的所有View(所有視圖都在他們自己的項目中,就好像由不同的人工作)。 要在內容區域中顯示的所有視圖都將不同。
我不知道如何使用Prism模型實現這一點(如果我願意,我可以這樣做,但View.cs中會有很多代碼,並且希望以正確的方式執行此操作)。 我發現的所有樣本都使用Tab控件並立即加載所有模塊,這不是我想要實現的。 我應該學習一個特定的模式,或者你知道的任何一個例子可以指向我正確的方向嗎?
試一試。
使用RegionManager將視圖添加到您的區域:
regionManager.AddToRegion("ContentRegion", new MyViews.View1());
然后,當您要替換該視圖時,可以刪除視圖:
regionManager.Regions["ContentRegion"].Remove(view);
或者遍歷區域中的視圖並將其全部刪除:
foreach (var view in regionManager.Regions["ContentRegion"].Views)
{
regionManager.Regions["ContentRegion"].Remove(view);
}
您的視圖模型將是放置此類代碼的好地方。 使用Unity在視圖模型構造函數中注入區域管理器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.