【问题标题】:WPF + PRISM How to change the region at runtimeWPF + PRISM 如何在运行时更改区域
【发布时间】:2012-12-05 22:00:56
【问题描述】:

我需要根据绑定的 RegionName 加载区域。有点像

 <ContentControl cal:RegionManager.RegionName="{Binding CustomRegionName}"
                    Grid.Column="2"/>

所有区域均已正确注册。如果我更改 CustomRegionName 的值,则该区域永远不会改变。我该怎么做?

【问题讨论】:

    标签: wpf prism


    【解决方案1】:

    此行为是因为该区域已加载到可视化树中。您能否稍微更改您的应用程序,以便您保留区域名称但将多个视图加载到该区域中。这样您就可以选择区域中哪个视图处于活动状态,并使用 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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-13
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      • 2019-11-07
      • 2013-10-31
      相关资源
      最近更新 更多