gpt4 book ai didi

wpf - RoutedEventArgs.Source 与 Sender

转载 作者:行者123 更新时间:2023-12-03 23:07:41 26 4
gpt4 key购买 nike

wpf事件处理中的sender和source有什么区别?

例如,假设我在 Canvas 中有一个椭圆,然后单击该椭圆:该椭圆既是发送者也是来源。

但是,如果椭圆不处理事件而主窗口处理,则事件将通过 Canvas ......因此 Canvas 将是主窗口的事件发送者,但源将是椭圆。

我有这个权利吗?

最佳答案

两者之间的区别并不常见,通常是 senderSource是相同的。大多数像 Windows 窗体一样编写的代码基本上会忽略差异并将它们作为相同的引用发送。但是,考虑到 WPF 的事件路由的工作方式,它们代表了两个不同的概念。

sender is the object at which the event handler was attached .这是引发处理程序以开始路由事件的所有者。来自 MSDN:

A difference between sender and Source is the result of the event being routed to different elements, during the traversal of the routed event through an element tree.



MSDN: Event routing diagram

Source is the object where the event originates.在隧道和冒泡的情况下, Source将是他们的子元素之一。您可以使用 OriginalSource剥离任何事件树封装的属性。

关于wpf - RoutedEventArgs.Source 与 Sender,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7235975/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com