Benutzer mit den meisten Antworten
Plugin und Lose Kommunikation

Frage
-
Hallo zusammen,
ich brauche mal einen Denkanstoß. In meiner Anwendung arbeite ich viel mit Plugins. Die Kommunikation (um höchst flexibel zu sein) läuft über den MVVM Light Messenger. Ich habe beispielsweise eine Klasse in der beidseitigen genutzten Schnittstelle, welche mittels des Messengers gesendet wird (string Befehl, object Rückgabe). Mein Problem ist nun, dass z.B. in einer View, welche das Plugin fasst, eine ObservableCollection<XY> verwendet wird und ich möchte nun mit dem Plugin darauf zugreifen. Ein Standardbefehl der Schnittstelle ist "GETPROPERTY|XY", so wird nach der öffentlichen Property gesucht; in diesem Fall der ObservableCollection. Diese wird dann an das Plugin übertragen. Hier arbeite ich dann mit dynamic weiter, um die Liste oder deren Daten auszulesen.
Klappt wunderbar! Möchte ich aber nun mittels Plugin etwas in die Liste hinzufügen, somit stoße ich auf Probleme, denn das Plugin kennt weder die Klasse, welche die ObservableCollection nutzt, noch die einzelnen Modelle.
Hat jemand hier eine Lösung? Alle geteilten Modelle und Klassen auslagern in das Interface?
Ergänzung: Ich arbeite mit MEF.
Ich danke euch und wünsche einen schönen Sonntag!
MfG Florian
FLOGERSOFT.de - Top Apps, wie z.B. 'Die Taschenlampe' oder ganz neu dabei: 'LiveClock' die Echtzeituhr für ihre Windows Phone Live-Kachel - mit Wettervorhersage!
- Bearbeitet Flo0806 Sonntag, 24. Februar 2019 08:55
- Typ geändert Ivan DragovMicrosoft contingent staff, Moderator Montag, 4. März 2019 06:57 Keine Rückmeldung
- Typ geändert Stefan FalzModerator Mittwoch, 6. März 2019 21:54 Rückmeldung des Fragestellers eingegangen
Antworten
-
Hallo Florian,
Du kannst versuchen, die AllPlugins-Eigenschaft im Viewmodel zu verwenden. Es wird als eine ObservableCollection-Klasse von Lazy Items deklariert, die beim Dereferenzieren der "Value"-Eigenschaft jeder Lazy-Instanz (von IPlugin) erstellt werden. In diesem Thread findest Du weitere Informationen:
An Extensible WPF client layout with RibbonTab submenus using MEFGruß,
Ivan Dragov
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
- Als Antwort vorgeschlagen Stefan FalzModerator Mittwoch, 6. März 2019 21:54
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Freitag, 15. März 2019 14:16
Alle Antworten
-
Hallo Florian,
Du kannst versuchen, die AllPlugins-Eigenschaft im Viewmodel zu verwenden. Es wird als eine ObservableCollection-Klasse von Lazy Items deklariert, die beim Dereferenzieren der "Value"-Eigenschaft jeder Lazy-Instanz (von IPlugin) erstellt werden. In diesem Thread findest Du weitere Informationen:
An Extensible WPF client layout with RibbonTab submenus using MEFGruß,
Ivan Dragov
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
- Als Antwort vorgeschlagen Stefan FalzModerator Mittwoch, 6. März 2019 21:54
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Administrator Freitag, 15. März 2019 14:16