Ich habe einen Befehl, den ich aus meiner XAML-Datei mit der folgenden Standardsyntax ausführe:
<Button Content="Zoom" Command="{Binding MyViewModel.ZoomCommand}"/>
Dies funktionierte einwandfrei, bis mir klar wurde, dass ich ZWEI Informationen aus der Ansicht benötigte, um diesen Vorgang so auszuführen, wie es die Benutzer erwarten (insbesondere die Breite und Höhe der Leinwand).
Es scheint möglich zu sein, ein Array als Argument an meinen Befehl zu übergeben, aber ich sehe keine Möglichkeit, die Bindung an meine beiden Canvas-Eigenschaften im CommandParameter anzugeben:
<Button Content="Zoom"
Command="{Binding MyViewModel.ZoomCommand"
CommandParameter="{Binding ElementName=MyCanvas, Path=Width}"/>
Wie gebe ich sowohl Breite als auch Höhe an meinen Befehl weiter? Es scheint nicht möglich zu sein, dies mit Befehlen von XAML zu tun, und ich muss einen Klick-Handler in meinem Codebehind verkabeln, damit diese Informationen an meine Zoom-Methode übergeben werden.