ich mich in einer schwierigen Situation gefunden versuchen, das folgende Szenario zu lösen:PRISM RegionManager Region in mehreren Regionen
Ich habe zwei Ansichten mit jeweils 1-Region, läßt diese View1.RegionA nennen, View2.RegionB. Ich registriere ein Steuerelement in diesen Regionen, lasst uns dieses Control nennen. Steuerung hat auch einen Bereich (Control.Region), in die ich ein anderes Steuer bin Registrierung dieses Subcontrol nennen wir
|Module_A
-View1
--RegionA
|Module_B
-View2
--RegionB
|Module_C
-Control
--Control.Region
-Subcontrol
Wenn ich das Mainview zu öffnen, die enthält Ansicht1 und View2 ich die folgende Fehlermeldung erhalten:
„Region mit dem angegebenen Namen ist bereits registriert: Control.Region“
ich habe versucht, diese Scoped regions mit der Lösung, aber wenn ich meine app tat so abgestürzt ist es wurde versucht, die Ansichten bei Anwendung starten instanziiert die verursachte einen Absturz meiner App, da viele Objekte an diesem Punkt nicht initialisiert wurden t.
Ich habe auch versucht, an die Control.Region.RegionName -Eigenschaft zu binden, aber in diesem Fall wurde mein RegionContext nicht festgelegt und erhielt den gleichen Fehler wie am Anfang.
Gibt es eine andere Lösung?
Hallo Brian, vielen Dank für Ihre Antwort ! Es gibt einen Unterschied, den ich schon früh in Ihrem Kurs bemerkt habe, nämlich dass ich den Regionsmanager etwas anders benutze, indem ich RegisterViewWithRegion verwende, das die Ansicht nur dann instanziiert, wenn es angezeigt wird, und in allen ScopedRegion-Beispielen Instanziieren Sie die Ansicht, wenn Sie sie zum Regionsmanager hinzufügen. Gibt es eine Möglichkeit dies zu tun, ohne es instanziieren zu müssen? Weil das der Grund ist, warum es für mich versagt. –
Ehrlich gesagt, habe ich RegisterVIEWWithRegion nie mit Scoped-Regionen verwendet, hauptsächlich weil Sie zuerst die Scoped-Region erstellen müssen, die normalerweise beim Injizieren der Ansicht erfolgt. Sie können die Navigation verwenden, wenn Sie dies bevorzugen, damit Sie keine Ansichtsobjekte erstellen müssen. –
Ich habe gerade die Antwort dafür gefunden: https://msdn.microsoft.com/en-us/library/ff921174(v=pandp.40).aspx "Sie sollten keine Ansichts-Discovery-Komposition verwenden, wenn Sie einen Bereichsbereich benötigen Manager " –