2009-05-14 3 views
2

Ich entwickle eine Anwendung in WPF, wo ein einzelner Klick auf ein Element die Ansicht auf etwas anderes ändern wird. Das Problem ist, dass wenn der Benutzer auf das Element doppelklickt, das erste Ereignis der einzelne Klick ist, der die andere Ansicht öffnet und das nächste Ereignis der Doppelklick auf die neue Ansicht ist. Dieser Doppelklick auf die neue Ansicht verursacht andere Dinge. Also, die Frage ist; Kann ich den Doppelklick stoppen, nachdem ich das Einzelklickereignis auf meine erste Ansicht gesetzt habe? Ich habe versucht, Handled = True auf dem MouseButtonEventArgs in der Einzelklick-Methode festzulegen, aber das funktioniert nicht. Die andere Ansicht erhält immer noch den Doppelklick und zufällige Dinge werden noch passieren. Irgendeine intelligente Lösung meines Problems da draußen?Stop Doppelklick von geschieht nach einem einzigen Klick

/Daniel

Antwort

1

RaymondChen ist wieder eine wertvolle Quelle.

Ich schlage vor, Sie lesen die verknüpfte half second delay article für weitere Details, aber das zeigt, wie sich die Verzögerung für den Benutzer manifestiert.

+0

Das Problem mit dieser Lösung ist, dass während dieser halben Sekunde der Benutzer etwas anderes klicken konnte und dann zwei Dinge passieren. Die Sache, die nach dem ersten Klick auf den ersten Gegenstand und die Sache nach dem zweiten Klick auf den zweiten Gegenstand passiert. Dies könnte dadurch gelöst werden, dass in einem Modell für die App eine Art Status gesetzt wird, so dass dieser weiß, dass bereits ein erstes Objekt geklickt wurde. Nicht so nette Lösung. –

+0

Wenn Ihre Benutzer so schnell auf mehrere verschiedene Elemente der Benutzeroberfläche klicken, befürchte ich, dass der an den entsprechenden Stellen gespeicherte benutzerdefinierte Code und Status die einzige Lösung ist ... – ShuggyCoUk

Verwandte Themen