WPF: Klicken Sie mit der linken Maustaste und halten Sie die Bearbeitung gedrückt

8

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!

    
Klaus Nji 22.06.2011, 16:54
quelle

3 Antworten

17

Warum nicht einen RepeatButton verwenden?

Ссылка

    
Itai Bar-Haim 19.12.2011, 14:51
quelle
1

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%     
Ed Bayiates 22.06.2011 17:17
quelle
0

Führen Sie einen Thread aus, bis MouseLeftButtonUp ausgelöst wird.

    
user627283 22.06.2011 17:08
quelle

Tags und Links