WPF XAML Intellisense不';无法为自定义路由事件处理程序正常工作
我使用以下构造定义了自定义路由事件(名称已更改): 公共类MyRoutedEventArgs:RoutedEventArgs {…} 公共委托无效MyRoutedEventHandler(对象发送方,MyRoutedEventTargets参数) 公共静态只读RoutedEvent MyEvent MyClass.MyEvent= EventManager.RegisterRoutedEvent(“MyEvent”,RoutingStrategy.Tunnel,typeof(MyRoutedEventHandler),typeof(MyClass)) 接下来,我将创建一个CLR事件包装器: 公共事件MyRoutedEventHandler MyEvent{ 添加{AddHandler(MyEvent,value);} remove{RemoveHandler(MyEvent,value);} }WPF XAML Intellisense不';无法为自定义路由事件处理程序正常工作,wpf,xaml,intellisense,Wpf,Xaml,Intellisense,我使用以下构造定义了自定义路由事件(名称已更改): 公共类MyRoutedEventArgs:RoutedEventArgs {…} 公共委托无效MyRoutedEventHandler(对象发送方,MyRoutedEventTargets参数) 公共静态只读RoutedEvent MyEvent MyClass.MyEvent= EventManager.RegisterRoutedEvent(“MyEvent”,RoutingStrategy.Tunnel,typeof(MyRoutedEv
问题是,当我如上所示定义它时,XAML intellisense无法自动生成处理程序方法体。我注意到的是,如果您将CLR事件包装器更改为使用泛型RoutedEventHandler类型,则一切正常!但是,在这种情况下,自动生成的方法会得到一个通用的RoutedEventArgs(正确地对应于RoutedEventHandler),这迫使我手动将其重写为MyRoutedEventArgs。我认为这是当前您必须接受的限制。但您所要做的就是,一旦泛型类型的eventhandler自动生成,将生成的方法的签名更改为使用MyRoutedEventArgs而不是RoutedEventArgs。尽管仍然丑陋(我们不应该被迫这样做),我认为这不是一个大问题
有人用VS 2010试用过吗?我认为这是目前你必须接受的限制。但您所要做的就是,一旦泛型类型的eventhandler自动生成,将生成的方法的签名更改为使用MyRoutedEventArgs而不是RoutedEventArgs。尽管仍然丑陋(我们不应该被迫这样做),我认为这不是一个大问题
有人在VS 2010上试用过吗?没有在VS 2010上试用过。奇怪的是,对于框架本身带有非泛型处理程序(如MouseDown等)的事件,它可以正常工作。还没有在VS2010上试用过。奇怪的是,对于框架本身带有非泛型处理程序(如MouseDown等)的事件,它可以正常工作。