Wie wiederhole ich wiederholt eine Aktion, wenn die linke Maustaste in WPF gedrückt und gedrückt gehalten wird?
Der folgende Ereignishandler für das UIElement.PreviewMouseLeftButtonDown-Ereignis führt die Aufgabe nicht durch:
%Vor%Die Ausführung kommt nicht einmal in die while-Schleife und der Handler wird aufgerufen, wenn die linke Maustaste losgelassen wird!
Starten Sie einen BackroundWorker, der nach dem Loslassen der Maus beendet wird. Setzen Sie ein Flag mit dem mouse up-Ereignis und überprüfen Sie es regelmäßig in der BackgroundWorker DoWork-Funktion. Stellen Sie sicher, dass Sie die Sperre {} für den Zugriff auf das Flag verwenden.
Bearbeiten: Wenn Sie auf etwas im UI-Thread zugreifen möchten, verwenden Sie beispielsweise Dispatcher.BeginInvoke:
%Vor%Führen Sie einen Thread aus, bis MouseLeftButtonUp ausgelöst wird.
Tags und Links wpf mouseevent