/ / Was ist die beste Vorgehensweise für die Verarbeitung von Ereignissen in MVVM - mvvm, Event-Handling, Silverlight-4.0

Was ist die beste Vorgehensweise für die Ereignisbehandlung in MVVM - mvvm, event-handling, silverlight-4.0

Ich mache ein Silverlight mit dem MVVM-Modell,und ich finde es schwierig, die Ereignisbehandlung über MVVM durchzuführen, insbesondere, dass die Ereignishandler viele Änderungen in der Ansicht vornehmen, wie das Aktivieren und Deaktivieren von Schaltflächen, das Aktualisieren von Medienelementfunktionen und die Position. Ich bin noch neu in der MVVM und ich kann nicht sehen, wie kann ich das tun. Kennt jemand bereits guten Artikel zu beginnen mit oder einfachen Ansatz zu verstehen :) Ich werde antworten mit, was ich interessant finde, während ich meine Suche mache auch. Vielen Dank

Antworten:

4 für die Antwort № 1

1) Verstehe, dass es verschiedene "Geschmacksrichtungen" von MVVM gibt. Strenge / Hardcore-MVVM-Muster, obwohl theoretisch gewünscht, ist nicht notwendig.

2) Viele Ansichtsereignisse können über Befehle gehandhabt werden. WPF unterstützt dies, und ich glaube, dass Silverlight 4 auch funktioniert. Ein einfaches View-Event zum Starten wäre Button clicks. Auf diese Weise können Sie das Ereignis im ViewModel (anstelle des Code-Behinds der Ansicht "s") verarbeiten.

3) Für Dinge wie das Aktivieren / Deaktivieren von Ansichtssteuerungen / -zuständen über das MVVM-Modell, hier ein Beispiel / Erklärung:

  • Xaml-Steuerelemente (z. B. ein Button) sind datengebunden an das ViewModel für beliebige Eigenschaften gebunden (In diesem Fall ist es die IsEnabled-Eigenschaft der Schaltfläche).
  • Ihr ViewModel verfügt über eine IsButtonEnabled-Eigenschaft.
  • Wenn Sie diese Eigenschaft in der VM ändern, wird die PropertyChanged-Benachrichtigung ausgelöst, und Sie sehen das verknüpfte Ergebnis in der Ansicht (der Status der Schaltfläche "IsEnabled" wird aktualisiert).

ps - Sie können viele Dinge über VM-Eigenschaften auf diese Weise tun: von Text, zu verschiedenen Eigenschaften, Farbe, können Sie sogar Animationen in den Property-Setter / Getters .... etc.

Prost