我有一个应用程序向区域管理器注册 2 个区域,1 个是内容控件,另一个是自定义控件。运行应用程序时两者都很好,直到我尝试使用 RDP 会话。如果我断开与运行应用程序的远程计算机的连接,然后重新连接 RDP 与保持运行的应用程序,我会收到自定义控件已注册的异常。两者都将 RegionMeneberLifetime 设置为 false。
内容控件首先添加为
<ContentControl x:Name="MainRegion" Panel.ZIndex="0"
regions:RegionManager.RegionName="{x:Static sharedInterfaces:RegionNames.MainWorkspaceRegion}"
regions:RegionManager.RegionManager="{Binding RegionManager}"/>
然后是自定义控件
<controls:PopUpContainer regions:RegionManager.RegionName="{x:Static sharedInterfaces:RegionNames.PopupRegion}"
regions:RegionManager.RegionManager="{Binding RegionManager}"/>
自定义控件继承自 ContentControl。
抛出的异常是
信息:
创建名为“MainWorkspaceRegion”的区域时发生异常。异常是:Microsoft.Practices.Prism.Regions.UpdateRegionsException:尝试创建区域对象时发生异常。- 最可能导致的异常是:'System.Reflection.TargetInvocationException:调用的目标已抛出异常。---> Microsoft.Practices.Prism.Regions.Behaviors.RegionCreationException:创建名为“PopupRegion”的区域时发生异常。例外是:System.ArgumentException:具有给定名称的区域已注册:PopupRegion
看起来 popupregion 还没有被处理,并且在尝试再次添加它时它会爆炸。关于如何处理这个问题的任何建议?