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

发布于 2024-09-03 12:02:28 字数 113 浏览 4 评论 0原文

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

I'd like to add tabs to my window when an item in the GridView is double-clicked. But the tab that will be added depends on the clicked item. Which way should I do this on WPF? I thought about RoutedEvents, but I don't know how to pass a parameter with it. Any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦里梦着梦中梦 2024-09-10 12:02:28

这篇代码项目文章介绍了如何使用新的 RoatedEvent 和与 RoatedEventArgs 不同的参数类型(相当远的位置,搜索“Second using custom RoutedEventArgs”),尽管我希望 WPF 包含一个 RoatedEventHandler 版本,如 CLR 的 事件处理程序其中 T : EventArgs 因此您不必每次都声明一个新的委托。

摘要:

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

This codeproject article covers using a new RoutedEvent with a different argument type than just RoutedEventArgs (rather far down, search for "Second using custom RoutedEventArgs"), though I wish WPF included a version of RoutedEventHandler like the CLR's EventHandler<T> where T : EventArgs so you didn't have to declare a new delegate every time.

The summary:

  • Create a new type that subtypes RoutedEventArgs and has properties for your data.
  • Make sure your RoutedEventArgs subtype implements the non-default constructors of RoutedEventArgs as those are needed for it to work.
  • Declare a new delegate that matches this subtype.
  • Use as you would any other custom event in your code (also covered in that link).
星軌x 2024-09-10 12:02:28

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

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

Use commands rather than routed events:



Set a command for the clicked item and pass the clicked item's reference as the command's parameter using RelativeSource binding in the XAML.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文