PRISM und WPF, wie man ein Modul bei Bedarf hinzufügt

8

Ich habe eine Reihe von Registerkarten in meinem Shell-Fenster und eine Hauptregion, die eine Inhaltskontrolle ist. Ich habe auch vier Module, die ich bei Bedarf laden möchte, wenn eine bestimmte Registerkarte ausgewählt ist. Wenn also tab1 ausgewählt ist, möchte ich moduleA laden, wenn tab2 ausgewählt ist, möchte ich ModuleB usw. laden. Das erste Modul wird geladen, wenn die Anwendung gestartet wird. Das Problem ist, dass nichts passiert, wenn ich den Tab ändere. Es gibt keine schweren Fehler. Ich verwende diese Version der Prism Composite Application Guidance für WPF und Silverlight - Oktober 2009.

Ich habe diesen Ansatz versucht:

Shell:

%Vor%

Bootstrapper:

%Vor%

Und ModulB, das ich bei Bedarf laden kann (ich habe diese kommentierte Zeile verwendet, deshalb habe ich sie hier gelassen):

%Vor%

Was mache ich hier falsch? Wie soll ich fortfahren?

    
Enzomatric 28.06.2010, 09:31
quelle

2 Antworten

3

Ich verwende erfolgreich das Laden von Modulen. In meinem Szenario lade ich sie, nachdem sich der Benutzer anmeldet.

Stellen Sie als Plausibilitätsprüfung mit Ihrem Projekt sicher, dass sich Ihre ModuleB.dll im selben Verzeichnis wie Ihre Shell / Anwendung befindet. (Zum Beispiel sicherstellen, dass es in das Debug-Verzeichnis kopiert wird, wenn Sie sich im Debug-Modus befinden).

Ich habe den Modulnamen und die Modul-DLL gleich benannt, ich bin mir nicht sicher, ob das eine Voraussetzung ist, aber es ist die Konvention, an der ich festhalte.

mein Bootstrapper CreateModuleCatalog ist sehr einfach

%Vor%

Die Module sind in meiner app.config-Datei

aufgeführt %Vor%

Wenn ich die Module lade, benutze ich diesen Code

%Vor%

Das Laden von Modulen muss auf dem GUI-Thread geschehen, daher müssen Sie bei Bedarf den Dispatcher verwenden, um das Laden durchzuführen (dies ist die Zeile, die ich dafür verwende)

%Vor%

hoffe das hilft

    
Anton 15.08.2011 02:33
quelle
0

Ich bin mir nicht ganz sicher, aber versuche den InitializationMode auf OnDemand zu setzen, wenn du das Modul hinzufügst:

%Vor%     
Kitto 07.07.2010 10:56
quelle

Tags und Links