Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 20694|Antwort: 0

[WPF] WPF RelayCommand

[Link kopieren]
Veröffentlicht am 18.12.2017 21:16:49 | | |

In der häufig verwendeten WPF-Entwicklung implementieren wir die INotifyPropertyChanged-Schnittstelle im ViewModel, um den Zweck zu erreichen, UI-Änderungen durch Auslösen des PropertyChanged-Ereignisses zu benachrichtigen.

Im MVVMLight-Framework wird das hier definierte ViewModel von ViewModelBase übernommen, das im MvvmLight-Framework gekapselt ist und die INotifyPropertyChanged-Schnittstelle implementiert hat.

Daher müssen wir bei der Definition der ViewModel-Eigenschaft nur RaisePropertyChanged(PropertyName) aufrufen, um die Eigenschaftsänderung zu benachrichtigen.



Ereignisse sind die wichtigste Methode, wie die Benutzeroberfläche mit Hintergrundcode in WPF/SL-Anwendungen interagiert, und im Gegensatz zu herkömmlichen Methoden werden Ereignisse hauptsächlich durch Bindung an Befehle in mvvm bearbeitet. Um also zu verstehen, wie Ereignisse in mvvm gehandhabt werden, musst du zunächst mit der Funktionsweise von Befehlen vertraut sein.

1. RelayCommand-Kommando

WPF/SL-Befehle werden durch die Implementierung der ICommand-Schnittstelle erstellt. ICommand stellt zwei Methoden (Execute und CanExecute) sowie ein Ereignis (CanExecuteChanged) bereit. Ausführen führt die mit dem Befehl verbundene Aktion aus. CanExecute bestimmt, ob ein Befehl auf dem aktuellen Befehlsziel ausgeführt werden kann. Die Klasse, die die ICommand-Schnittstelle in MvvmLight implementiert, ist RelayCommand, die die Execute- und CanExecute-Methoden über den Konstruktor initialisiert, sodass der Konstruktor die Parameter des Delegiertentyps übergibt, und Execute und CanExecute die delegierten Methoden ausführen, wobei der relevante Code von RelayCommand wie folgt lautet:


2. Comand-Attributbindung

Einfaches Beispiel: Ein TextBox und ein Button, das TextBox ist nur verfügbar, wenn der Inhalt nicht leer ist, und der verfügbare Button wird angeklickt, um den Inhalt der TextBox anzuzeigen.




ViewMode:







Vorhergehend:android-TableLayout sowie die Nutzung von TableRow
Nächster:Das Hauptfenster öffnet sich, wenn das WPF-Login-Fenster geschlossen wird
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com