Announcement

Collapse
No announcement yet.

Kommunikation zwischen UserControls - Best Practices

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Kommunikation zwischen UserControls - Best Practices

    Hallo Leute,
    bin gerade dabei eine etwas komplexere GUI mit WPF zu realisieren, bestehend aus vielen einzelnen eigenen UserControls. Diese UserControls müssen natürlich untereinander Daten austauschen.

    Wie handhabt ihr sowas?
    Public Properties?
    Eigene Events?

    Bitte um Vorschläge und Links zum Thema.

    danke, k.

  • #2
    Hallo,

    (Public) Properties sind auf jeden Fall schon einmal eine gute Idee und sind meiner Meinung nach ideal, wenn es 'nur' um das Auslesen / Zuweisen von Daten geht. Also zB UserControl1 verweist auf ListBox-Eintraege in UserControl2 -> die ListBox-Eintraege koennten als Property in UserControl2 zur Verfuegung gestellt werden.

    Events hingegen sind ideal, wenn du - um beim obigen Beispiel zu bleiben - in der ListBox einen Eintrag auswaehlst und im UserControl1 darauf reagiert werden soll; zB die aendert sich die Caption oder sowas.

    Die 'Command-Properties' sind im WPF auch nicht zu unterschaetzen.

    Wenn du ein paar Beispiele anfuehren wuerdest, koenntest du vielleicht konkretere Loesungsvorschlaege / spezifische Links erhalten.
    *-- robert.oh. --*

    Comment


    • #3
      Merci für die Antwort,
      Eigentlich ist es so wie Du beschrieben hast:
      Properties beim Zuweisen von Daten aus der Business-Logik,
      Events zum Benachrichtigen von Änderungen.
      In WPF ist mit DataBinding auch schon einiges gelöst.

      Ich tu mir nur beim Gestalten der Events schwer. Vielleicht habt Ihr zu diesem Thema ein paar Beispiel-Links auf Lager.

      Danke, k.

      Comment


      • #4
        Hallo,

        Sorry fuer die verspaetete Antwort.
        Eine - meiner Meinung nach - recht gute Seite ist: http://msdn.microsoft.com/en-us/libr...39(VS.71).aspx

        Hoffe das hilft dir weiter und wuensche noch ein schoenes Wochenende ;-)
        *-- robert.oh. --*

        Comment

        Working...
        X