我需要根据RegionName绑定加载区域。喜欢
<ContentControl cal:RegionManager.RegionName="{Binding CustomRegionName}"
Grid.Column="2"/>
所有地区都已正确注册。如果我更改CustomRegionName的值,则该区域永远不会更改。我怎么能这样做?
答案 0 :(得分:5)
此行为是因为该区域已加载到可视树中。您是否可以稍微更改您的应用,以便维护区域名称,但将多个视图加载到该区域。通过这种方式,您可以选择区域中哪个视图处于活动状态,并使用IRegionViewManager和IRegion接口动态更改内容控件的显示 即
IRegion region = regionManager.Regions["RegionName"];
object view = container.Resolve<SomeView>();
object view2 = container.Resolve<SomeView2>();
region.Add(view);
region.Add(view2);
然后,您想在其他地方显示特定视图 注入IRegionManager然后调用
region.Activate(whichever view);