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
1
A
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).
vous êtes libre de créer 'RoutedEventHandler' vous-même avec un clin d'oeil .. :) –
ktutnik