リージョン マネージャーに 2 つのリージョンを登録するアプリケーションがあります。1 つはコンテンツ コントロールで、もう 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: 領域オブジェクトの作成中に例外が発生しました。- 最も可能性の高い原因となった例外は次のとおりです。---> Microsoft.Practices.Prism.Regions.Behaviors.RegionCreationException: 'PopupRegion' という名前の領域を作成中に例外が発生しました。例外は次のとおりです: System.ArgumentException: 指定された名前のリージョンは既に登録されています: PopupRegion
ポップアップ領域が破棄されていないようで、再度追加しようとすると爆発します。これを処理する方法について何か提案はありますか?