Frage

Ich möchte eine sehr einfache Anwendung Paint auf WPF MAF erstellen.

Das Add Ins ich erstellen möchten, sind:

  1. Haupt Image Processor - Dargestellt die aktuelle Farbe und empfängt Eingaben vom Benutzer
  2. Tool Box - Der Benutzer kann einige Arten von Zeichnungen Tools wählen
  3. Ebene - Der Benutzer kann die Schichten anzeigen, löschen Ebene auswählen und wählen Sie auf der Schicht zur Arbeit auf

Die Frage ist: Wie kann ich zwischen den verschiedenen Add-Ins, ohne den Host interagieren können

Danke, Ronny

War es hilfreich?

Lösung

So wie ich es tun, ist für die Host jedes Add-in sammeln nicht in einer Sammlung, wie sie entdeckt wir Sie, und geben Sie dann die Sammlung jedes Add-in, wie sie es initialisiert. Was Sie auf die Add-In vorbei ist die andere Add-Ins' Schnittstellen, wie das ist wirklich die ganze Heer über sie weiß.

Der Host sollte jedes Add-in, initialisieren und dann, sobald sie alle initialisiert sind, signalisieren sie zu aktivieren, in dem sie die anderen Add-Ins dann entdecken und gehen ihr Ding. Jede Add-In sollte ein WhoAreYou Verfahren aussetzen, damit sie herausfinden können, wer sonst noch installiert ist, wenn sie aktiviert sind. Herleiten Ihrer Add-In von einer Basisklasse wird dies vereinfachen. Sobald Sie es für eine dachte ich heraus dann ist es für alle von ihnen gemacht.

Dieser Ansatz verwendet nur den Host zu sammeln und die Add-In-Schnittstellen zu verteilen, mit der Add-In direkt miteinander durch den Vertrag Pipeline Kommunikation statt Nachrichten von Routing über den Host.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top