J'ai une application qui enregistre 2 régions avec le gestionnaire de région, 1 est un contrôle de contenu et l'autre un contrôle personnalisé. Les deux sont très bien lors de l'exécution de l'application jusqu'à ce que j'essaie d'utiliser une session RDP. Si je déconnecte de l'ordinateur distant exécutant l'application, puis reconnectez le RDP avec l'application en cours d'exécution, j'obtiens une exception que le contrôle personnalisé est déjà enregistré. Les deux ont le paramètre RegionMeneberLifetime défini sur false.Prism Regions UpdateRegionsException
Le contrôle de contenu est ajouté 1er comme
<ContentControl x:Name="MainRegion" Panel.ZIndex="0"
regions:RegionManager.RegionName="{x:Static sharedInterfaces:RegionNames.MainWorkspaceRegion}"
regions:RegionManager.RegionManager="{Binding RegionManager}"/>
et le contrôle personnalisé
<controls:PopUpContainer regions:RegionManager.RegionName="{x:Static sharedInterfaces:RegionNames.PopupRegion}"
regions:RegionManager.RegionManager="{Binding RegionManager}"/>
Le contrôle de inherits personnalisés de ContentControl.
L'exception est lancée
Message: Une exception est survenue lors de la création d'une région avec le nom 'MainWorkspaceRegion'. L'exception était: Microsoft.Practices.Prism.Regions.UpdateRegionsException: une exception s'est produite lors de la tentative de création d'objets région. - L'exception provoquant le plus probablement était: 'System.Reflection.TargetInvocationException: Une exception a été émise par la cible d'un appel. ---> Microsoft.Practices.Prism.Regions.Behaviors.RegionCreationException: Une exception s'est produite lors de la création d'une région avec le nom 'PopupRegion'. L'exception était: System.ArgumentException: La région avec le nom donné est déjà enregistrée: PopupRegion
Il semble que la popup n'a pas été supprimée et en essayant de l'ajouter, elle explose. Des suggestions sur la façon dont je peux gérer cela?
Merci pour vos commentaires, mais ce qui est déjà dans le code que vous pouvez voir dans le 2ème extrait de code «
DWatson
@DWatson Je sais, peut-être que vous n'avez peut-être pas publié tout votre code, mais il se peut que d'autres personnes (comme moi) soient aidées par cette information. –