簡體   English   中英

使用Prism更改Silverlight中的區域視圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM