我有一个问题。我为“ pdf阅读器”创建了一个具有视图和模型的区域。然后,我将此“ pdf阅读器区域”添加到两个用户控件中的两个内容控件中。我想用视图和模型回收该区域
pdf阅读器仅是显示pdf文件的视图。
引导程序寄存器:
regionManager.RegisterViewWithRegion(BaseNames.PDF_VIEW_REGION, typeof(
Infrastructure.Base.Views.PdfView));
BaseNames类
public static class BaseNames
{
public const string PDF_VIEW_REGION = "PdfViewBaseRegion";
}
查看1
<ContentControl Grid.Column="1" prism:RegionManager.RegionName="{x:Static contract:BaseNames.PDF_VIEW_REGION }"/>
查看2
<ContentControl Grid.Column="1" prism:RegionManager.RegionName="{x:Static contract:BaseNames.PDF_VIEW_REGION }"/>
例外:
Prism.Regions.Behaviors.RegionCreationException:“创建名称为'PdfViewBaseRegion'的区域时发生了异常。该异常是:System.ArgumentException:具有给定名称的区域已被注册:PdfViewBaseRegion bei Prism.Regions.RegionManager.RegionCollection.Add(区域区域) bei Prism.Regions.Behaviors.RegionManagerRegistrationBehavior.TryRegisterRegion() bei Prism.Regions.Behaviors.RegionManagerRegistrationBehavior.StartMonitoringRegionManager() bei Prism.Regions.Behaviors.RegionManagerRegistrationBehavior.OnAttach() bei Prism.Regions.RegionBehavior.Attach() bei Prism.Regions.RegionBehaviorCollection.Add(字符串键,IRegionBehavior regionBehavior) bei Prism.Regions.RegionAdapterBase
1.AttachDefaultBehaviors(IRegion region, T regionTarget) bei Prism.Regions.RegionAdapterBase
1.Initialize(T regionTarget,String regionName) bei Prism.Regions.RegionAdapterBase`1.Prism.Regions.IRegionAdapter.Initialize(Object regionTarget,String regionName) bei Prism.Regions.Behaviors.DelayedRegionCreationBehavior.CreateRegion(DependencyObject targetElement,字符串regionName)。 “
答案 0 :(得分:0)
如果导航到使用RegionManager的View,则应从RegionManager的RegionCollection中删除Region。
public void OnNavigatedFrom(NavigationContext navigationContext)
{
navigationContext.NavigationService.Region.RegionManager.Regions.Remove(BaseNames.PDF_VIEW_REGION);
}