2010-10-08 17 views
0

Ok, cela peut être simple ou tout simplement impossible. Probablement c'est quelque chose qui est mal vu.WPF Un bouton peut-il transporter des données vers son gestionnaire d'événements?

Disons que j'ai un combobox et un bouton à côté. Je choisis un objet de la combobox et appuie sur le bouton.

Dans mon gestionnaire de bouton, je suppose que je suis supposé aller chercher combobox.selectedValue pour obtenir l'élément (est-il un meilleur moyen). Disons que je n'ai pas accès à la liste déroulante où se trouve l'eventhandler. Puis-je lier le bouton d'une manière ou d'une autre à la valeur sélectionnée pour que j'y accède via le bouton?

private void addItemClick(object sender, RoutedEventArgs e) 
    { 
      collection.add(classFactory.NewInstanceOfId((sender as button).DataContainer); 
    } 

Est-ce quelque chose que vous ne devriez pas faire? Est-ce que Combobox a peut-être un événement d'héritage pour le faire (je veux un bouton pour confirmer). Si j'inclus le bouton à l'intérieur de la ComboBox, je suppose que je pourrais utiliser Button.DataContext?

Répondre

2

Vous pouvez lier le clic à une commande et définir le paramètre de commande sur la valeur sélectionnée.

Jetez un coup d'oeil ici (mais pas exactement ce que vous voulez, mais illustre comment le faire):

Passing two command parameters using a WPF binding

+0

C'est ce que je cherchais, merci. –