Intro Ich arbeite mit WPF mit MVVM-Light AnwendungWie Composite-Befehl in mvvm
Tor
Ich habe aufzurufen zwei Befehle von der gleichen Veranstaltung Ist das möglich verwenden MVVM mit .?
XAML aussehen wie dieses
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<command:EventToCommand Command="{Binding Command1}" PassEventArgsToCommand="False" />
<command:EventToCommand Command="{Binding Command2}" PassEventArgsToCommand="False" />
</i:EventTrigger>
</i:Interaction.Triggers>
Problem
Wenn zwei Befehle Einhaken nur einer von ihnen aufgerufen wird, während das Ereignis ausgelöst wird.
Q1 Wie zwei Befehle in einem Ereignis aufgerufen werden?
Ich habe über Composite commands in PRISM gehört
Zum Beispiel die CompositeCommand
Klasse in der Stock Trader Reference Implementierung verwendet wird (Börsenhändler RI), um den SubmitAllOrders
Befehl durch die Schaltfläche Alle in der Submit vertreten zu implementieren Kauf-/Verkaufsansicht. Wenn der Benutzer auf die Schaltfläche Submit All klickt, wird jede durch die einzelnen Kauf-/Verkaufstransaktionen definierte SubmitCommand
ausgeführt.
.
Q2 Gibt es in MVVM so etwas?
Zu Frage 2: wahrscheinlich alles, was Sie tun können, ist separat und Composite passieren Array von Befehlen als Commandparameter, um es zu definieren. Und dann im RelayCommand erhalten Sie die Argumente und rufen Sie jeden der übergebenen Befehl separat auf. – VitaliyK
Ja, das klingelt – Eldho