我在shell中定義了兩個區域:MainRegion和ToggleRegion。切換區域包含一個按鈕,點擊那個按鈕我想改變主區域的區域。棱鏡:殼區域視圖更改不反映在xaml視圖
這裏是我在shell中註冊區域的xaml代碼。
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" ></RowDefinition>
<RowDefinition Height="30"></RowDefinition>
</Grid.RowDefinitions>
<ContentControl Grid.Row="0" Regions:RegionManager.RegionName="MainRegion"></ContentControl>
<ContentControl Grid.Row="1" Regions:RegionManager.RegionName="ToggleRegion"></ContentControl>
</Grid>
我的引導程序添加MainModule我在哪裏的地區
protected override IModuleCatalog CreateModuleCatalog()
{
var catalog = new ModuleCatalog();
catalog.AddModule(typeof (MainModule));
return catalog;
}
我MainModule類
public void Initialize()
{
regionManager.RegisterViewWithRegion("MainRegion", typeof(MainView));
regionManager.RegisterViewWithRegion("ToggleRegion", typeof(ToggleView));
}
注射視圖上運行的應用程序,我能看到的MainView和ToggleView在MainRegion和ToggleRegion裝。但是當我點擊切換區域中的按鈕來改變主區域中的視圖。主要區域視圖不變。
代碼在我的按鈕單擊事件
{
IRegion region = regionManager.Regions["MainRegion"];
var view = region.Views.SingleOrDefault();
region.Remove(view);
regionManager.RegisterViewWithRegion("MainRegion", typeof(ViewOnButtonClick));
region.Activate(view);
}
在調試,我可以看到的區域首先去除的MainView然後激活viewonbuttonclick但同樣沒有在我的XAML視圖反映。
我錯過了什麼?
早些時候我也是這樣做的,但也沒有給出我的結果。事實上,當我停在只是region.Remove(查看)在主區域內沒有視圖。地區沒有看到空,但同樣沒有反映在我的XAML殼。這真讓我抓狂。 – Sunil