在wpf中引发传递参数的事件

时间:2010-05-30 21:35:16

标签: wpf routed-events

我想在双击GridView中的项目时向我的窗口添加选项卡。但是要添加的选项卡取决于单击的项目。我应该在WPF上以哪种方式执行此操作?我想过RoutedEvents,但我不知道如何用它传递参数。有什么建议吗?

2 个答案:

答案 0 :(得分:6)

This codeproject article涵盖了使用与RoutedEvent不同的参数类型的新RoutedEventArgs(相当远,搜索“使用自定义RoutedEventArgs的第二个”),尽管我希望WPF包含版本RoutedEventHandler与CLR的EventHandler<T> where T : EventArgs一样,因此您不必每次都声明新的委托。

摘要:

  • 创建一个子类型RoutedEventArgs的新类型,并具有数据属性。
  • 确保您的RoutedEventArgs子类型实现RoutedEventArgs的非默认构造函数,因为它们需要它才能工作。
  • 声明与此子类型匹配的新委托。
  • 使用代码中的任何其他自定义事件(也包含在该链接中)。

答案 1 :(得分:0)

使用命令而不是路由事件:

为单击的项设置命令,并使用XAML中的RelativeSource绑定将单击的项的引用作为命令参数传递。