我在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