2009-06-22 18 views
2

Ich habe Code auf meine Listbox Maus Doppelklick geschrieben. Ich habe auch einen Absenden-Button in meiner Form. Bei Maus-Doppelklick möchte ich zuerst ein Maus-Doppelklick-Ereignis auslösen und dann die Taste klickenListbox MousedoubleClick in WPF

Ist es möglich?

Bitte antworten

Dank Sharath

Antwort

1

einfachste (und best practice) ist einfach, den Code zu setzen, was auf Knopf tun eine separate Methode klicken Sie in (sagen wir OnOkClicked), dann ist dieser Aufruf Methode aus dem Button Click-Ereignishandler sowie am Ende des ListBox-DoubleClick-Ereignishandlers.

mir schönes Muster zu implementieren, ist eine ICommand zu implementieren (wie Josh Smith RelayCommand - Google es) auf dem Model-View-Klasse, bindet die ihn Command-Eigenschaft der Schaltfläche und dann in dem Doubleclick-Handler-Listenfeld, rufen Sie die Ausgeführt Methode der Befehl. Diese strucutre vereinfacht die Aufrechterhaltung der Logik:

  1. Wenn nichts im Listenfeld ausgewählt ist, deaktivieren Sie die OK-Taste (Command.CanExecute würde return false)
  2. Wenn etwas im Listenfeld ausgewählt ist, aktivieren Sie die OK Schaltfläche
  3. Wenn das Listenfeld doppelt angeklickt wird, wählen Sie ein Element aus und rufen Sie den Befehl OK auf.

Hoffe, das hilft.

+0

Was ich versuche ich wie Fenster haben ein Popup zu erreichen, die Listbox hat. Bei einem Doppelklick auf das Listboxitem sollte es die Werte an das Elternfenster-Textfeld übergeben. Ich habe versucht, die Schaltfläche auf sichtbar falsch zu machen und mit einem Doppelklick auf das Listenfeld wird ein Klick ausgelöst. Ich benutze die Taste, weil sie CommandProperty und CommandParameterproperty hat. Bitte helfen ... –

0

können Sie Ihre eigene Kontrolle machen und ICommandSource implementieren, die Ihnen die gleichen Eigenschaften