Ich habe einen Button, der zwei ausführen mussseparate Befehle (einer, um etwas zu starten und einen, um ihn zu stoppen). Nach einigen Recherchen schien die System.Windows.Interactivity.dll eine einfache Möglichkeit zu sein, dies zu erreichen. Aber es funktioniert nicht mit der linken Maustaste (es funktioniert, wenn ich ein Ereignis wie verwende.) MouseDoubleClick oder MouseRightButtonDown, aber nicht Maus nach unten, MouseUp, oder MouseRightButtonDown) ... es scheint, als würde die Schaltfläche das Ereignis selbst verbrauchen und der Interaktion.Trigger sieht es nie. Ich habe unten ein Auszug aus meiner XAML zur Verfügung gestellt. Was kann ich tun, um dieses Verhalten zu umgehen?
<Button Content="DoStuff">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDown">
<i:InvokeCommandAction Command="{Binding StartCommand}" />
</i:EventTrigger>
<i:EventTrigger EventName="MouseUp">
<i:InvokeCommandAction Command="{Binding StopCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
Antworten:
4 für die Antwort № 1Sie können verwenden PreviewMouseDown
und PreviewMouseUp
stattdessen
0 für die Antwort № 2
mouseleftbuttondown, mouseleftbuttonup