2010-05-30 5 views
1

Je voudrais ajouter des onglets à ma fenêtre quand un élément dans le GridView est double-cliqué. Mais l'onglet qui sera ajouté dépend de l'élément cliqué. De quelle façon dois-je faire cela sur WPF? J'ai pensé à RoutedEvents, mais je ne sais pas comment passer un paramètre avec. Aucune suggestion?élever des événements en passant des paramètres dans wpf

Répondre

0

Utiliser les commandes plutôt que des événements routés:

Définir une commande pour l'élément cliqué et passe la référence de l'objet cliqué comme paramètre de la commande en utilisant la liaison RelativeSource dans le XAML.

5

This codeproject article couvre l'aide d'une nouvelle RoutedEvent avec un type d'argument différent de celui que RoutedEventArgs (assez loin vers le bas, la recherche pour « Second utilisant RoutedEventArgs personnalisés »), bien que je souhaite WPF inclus une version de RoutedEventHandler comme EventHandler<T> where T : EventArgs de la CLR si vous n » Je dois déclarer un nouveau délégué à chaque fois.

Le résumé:

  • Créer un nouveau type que les sous-types RoutedEventArgs et possède des propriétés pour vos données.
  • Assurez-vous que votre sous-type RoutedEventArgs implémente les constructeurs non-par défaut de RoutedEventArgs comme ceux qui sont nécessaires pour que cela fonctionne.
  • Déclarez un nouveau délégué correspondant à ce sous-type.
  • Utilisez comme tout autre événement personnalisé dans votre code (également couvert dans ce lien).
+0

vous êtes libre de créer 'RoutedEventHandler ' vous-même avec un clin d'oeil .. :) – ktutnik