UI-Ereignisse an ViewModel-Befehle in WPF binden
Wenn Sie Ihre Anwendung so umgestalten, dass sie dem MVVM-Muster folgt, ist es wichtig, die UI-Ereignisbehandlung vom Code-Behind zum ViewModel zu verlagern. Für die effektive Implementierung von MVVM ist es wichtig zu verstehen, wie UI-Ereignisse an Befehle gebunden werden.
Erwägen Sie dazu die Verwendung der EventTrigger-Klasse im Windows.Interactivity-Namespace in Verbindung mit der InvokeCommandAction-Klasse. Hier ist ein Beispiel:
<code class="language-xml"><ListBox ...> <i:Interaction.Triggers> <i:EventTrigger EventName="SelectionChanged"> <i:InvokeCommandAction Command="{Binding SelectedItemChangedCommand}" /> </i:EventTrigger> </i:Interaction.Triggers> </ListBox></code>
Mit dieser Methode können Sie das SelectionChanged-Ereignis direkt an den im ViewModel definierten Befehl binden. Sie können die Klassen EventTrigger und InvokeCommandAction verwenden, indem Sie in Ihrem Projekt auf System.Windows.Interactivity verweisen.
Denken Sie daran, "xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
zu verwenden, um den entsprechenden Namespace festzulegen. Mit dieser Technologie können Sie UI-Ereignisse nahtlos an ViewModel-Befehle binden und so die Trennung von Belangen verbessern und dem MVVM-Architekturmuster folgen.
Das obige ist der detaillierte Inhalt vonWie binde ich WPF-UI-Ereignisse an ViewModel-Befehle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!