C# WPF UserControl kapseln



  • Hallo,

    ich schreibe eine Art Plugin-Dll für ein Programm. Nun möchte ich ein UserControl auslagern in ein anderes Projekt, eine andere Dll, so dass es für alle anderen Plugin-Dlls wiederverwendbar wird. Nun habe ich sowas noch nie gemacht und brauche Hilfe, einen Rat, wie ich das am besten anstelle.

    Ich stelle mir vor, das UserControl, sagen wir mal einen einfachen Texteingabe Dialog mit Ok und Cancel Button, so zu kapseln, dass ich in den Plugin-Dlls bestimmte Aktionen mitbekomme. So will ich zum Beispiel auf eine Texteingabe reagieren können, um die Eingabe zu validieren. Daraufhin möchte ich eventuelle Fehlermeldungen an das Control zurückgeben können, die dann angezeigt werden sollen. Größe, Farbe etc soll ich aber in den Plugin-Dlls nicht ändern können, so dass das Control für alle Plugin-Dlls immer gleich aussieht.

    Das userControl zu erstellen ist kein Problem, ich weiß nur nicht, wie ich z.B. das TextInput-Event und den aktuellen Inhalt der TextBox herausreiche und dabei alle anderen Eigenschaften verstecke.

    Danke schon einmal!



  • Hallo pommes,

    du kannst über ein selbst erzeugtes Delegat ein Ereignis auslösen. Das Delegat machst du dann öffentlich zugänglich, sodass du dann über dein Hauptprogramm eine auszulösende Methode übergeben kannst. Dieses Delegat kannst du dann zum Beispiel auslösen, wenn sich der Textinhalt ändert.

    Um auf die Eigenschaften der Steuerelemente zugreifen zu können, kannst du diese einfach über eigene Get/Set-Methoden zugänglich machen.


Anmelden zum Antworten