2009-06-22 5 views
2

J'ai un code écrit sur ma souris Listbox double-cliquez. J'ai un bouton de soumission aussi dans mon formulaire. Au double clic de la souris, je veux qu'un clic double de la souris soit déclenché d'abord, puis le clic du boutonListbox MousedoubleCliquez sur WPF

Est-ce possible?

S'il vous plaît répondre

Merci Sharath

Répondre

1

Easiest (et bonnes pratiques) est tout simplement de mettre le code pour ce faire sur le bouton cliquez dans une méthode séparée (disons OnOkClicked), puis appelez cette méthode à partir du gestionnaire d'événements Button Click, ainsi qu'à la fin du gestionnaire d'événements ListBox DoubleClick. Un bon modèle à implémenter est d'implémenter un ICommand (comme RelayCommand de Josh Smith - google it) sur votre classe modelview, de lier la propriété Command du bouton, puis dans le gestionnaire DoubleClick de la liste, d'appeler la méthode Executed de la commande. Ce strucutre simplifie le maintien de la logique:

  1. Si rien est sélectionné dans la zone de liste, désactivez le bouton OK (Command.CanExecute retournerait false)
  2. Si quelque chose est sélectionné dans la zone de liste, activez le bouton OK bouton
  3. Si vous cliquez deux fois sur la zone de liste, sélectionnez un élément et appelez la commande OK.

Espérons que cela aide.

+0

Ce que je suis en train de réaliser est que j'ai une fenêtre contextuelle comme une fenêtre qui a Listbox. En double-cliquant sur l'élément Listbox, il doit transmettre les valeurs à la zone de texte de la fenêtre parente. J'essayais de rendre le bouton visible faux et en double-cliquant sur l'élément de la liste, il tirera un clic. J'utilise le bouton parce qu'il a CommandProperty et CommandParameterproperty. Aidez s'il vous plaît ... –

0

vous pouvez faire votre propre contrôle et mettre en œuvre ICommandSource qui vous donnera les mêmes propriétés