如何使用PRISM获取区域中的当前活动视图?

| 我知道我可以通过以下方式获得该地区的所有注册视图:
var vs = mRegionManager.Regions[RegionNames.MainRegionStatic].Views.ToList();
我可以看到有以下代码:
mRegionManager.Regions[RegionNames.MainRegionStatic].ActiveViews
它提供了Active View的列表,但是我将区域附加到ContentControl上,后者始终只有一个ActiveView。我是不是被误解了,还是有办法获得单个有效视图?     
已邀请:
        
var singleView = regionManager.Regions[\"MyRegion\"].ActiveViews.FirstOrDefault();
    
        
var singleView = regionManager.Regions[\"MyRegion\"].ActiveViews.FirstOrDefault();
这是不正确的,因为它只会带来首先被激活的任何视图。不是当前的活动/可见视图。 但是找不到直接解决方案,该解决方案不涉及View或ViewModel的自定义实现。     
        好吧,您可以使用
NavigationService
Journal
。它记录了应用程序中发生的所有导航。因此,您可以像这样获得视图的名称:
string name = mRegionManager.Regions[RegionNames.MainRegionStatic].NavigationService.Journal.CurrentEntry.Uri;
然后可以得到如下视图:
mRegionManager.Regions[RegionNames.MainRegionStatic].GetView(name);
甜蜜的权利? :)     

要回复问题请先登录注册