je définissais un événement routé personnalisée correctement pour routés personnalisés pas avec les constructions suivantes (noms modifiés):WPF XAML IntelliSense ne gestionnaires d'événements
MyRoutedEventArgs public class: RoutedEventArgs {...}
délégué public void MyRoutedEventHandler (expéditeur d'objet, arguments MyRoutedEventArgs); Public static readonly RoutedEvent MyEvent;
MyClass.MyEvent = EventManager.RegisterRoutedEvent ("MyEvent", RoutingStrategy.Tunnel, typeof (MyRoutedEventHandler), typeof (MyClass));
Ensuite, je crée une enveloppe d'événement CLR:
événement public MyRoutedEventHandler MyEvent {{ add AddHandler (MyEvent, valeur); } remove {RemoveHandler (MyEvent, valeur); } }
Le problème est que lorsque je le définis comme indiqué ci-dessus, IntelliSense XAML ne fonctionne pas pour générer automatiquement le corps de la méthode gestionnaire. Ce que j'ai remarqué est que si vous changez votre wrapper d'événement CLR pour utiliser le type générique RoutedEventHandler, tout fonctionne! Cependant dans ce cas, la méthode générée automatiquement obtient un RoutedEventArgs générique (bien, correspondant correctement à RoutedEventHandler), ce qui me force à le réécrire manuellement en tant que MyRoutedEventArgs.
N'a pas essayé sur VS 2010. La chose étrange est que pour les propres événements de cadre avec des gestionnaires non génériques (tels que MouseDown, etc.) il fonctionne parfaitement bien. – user226150