- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
wpf事件处理中的sender和source有什么区别?
例如,假设我在 Canvas 中有一个椭圆,然后单击该椭圆:该椭圆既是发送者也是来源。
但是,如果椭圆不处理事件而主窗口处理,则事件将通过 Canvas ......因此 Canvas 将是主窗口的事件发送者,但源将是椭圆。
我有这个权利吗?
最佳答案
两者之间的区别并不常见,通常是 sender
和 Source
是相同的。大多数像 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.
Source
is the object where the event originates.在隧道和冒泡的情况下,
Source
将是他们的子元素之一。您可以使用
OriginalSource
剥离任何事件树封装的属性。
关于wpf - RoutedEventArgs.Source 与 Sender,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7235975/
我对 Objective-C 很陌生,如果这对你们中的许多人来说非常明显,我很抱歉,但我正在尝试弄清楚以下代码是如何实际工作的: - (IBAction)chooseColour:(UIButton
我有一个 UITableView,它从代表标题、摘要和目标 URL 的字符串数组中获取数据。当用户选择一个单元格时,应用程序会转到包含 WebView 的 View Controller 。 问题是无
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: C# “as” cast vs classic cast 这两个表达式有什么区别? (ListView)发送
目前正在学习objetive-c。浏览了各种书籍以及 lynda 网站上的一些教程,现在找到了我认为适合我学习风格的斯坦福类(class)。我一直在一遍又一遍地看前 3 个讲座,基本上是在做,直到我
当我为我的业务对象编写公共(public)事件时,除了额外的特定参数外,我已经习惯了始终将实例作为“发送者作为对象”传递。我现在只是问自己为什么我不指定类? 所以对于有更多经验的你; 您是否曾经在事件
在 Objective-C 中,“(UIButton *)sender”是什么意思,为什么不是“UIButton *sender”?或者一些 NSObject 代替 UIButton。这更多是关于星号
我正在尝试学习用于 iPhone 开发的 Objective-C,并且在浏览有关操作的示例时,我经常看到如下内容: - (IBAction)sliderMoved:(id)sender { U
这个问题在这里已经有了答案: 关闭10 年前。 Possible Duplicate: Objective C: what is a “(id) sender”? in 的 (id)sender 是
我已经查看了我能找到的关于这个问题的所有文档,但无法弄清楚这一点。 一定有人在使用 Sendgrid 作为 SMTP 用于话语博客,但我不知道如何做到。 这是我的 app.yml 设置: env:
当我将按钮链接到源代码(在本例中为 .h 文件)并选择 NSButton 作为类型时,Xcode 将写入: - (IBAction)pushClear:(id)sender; 据我了解应该是 - (I
我有一个代码可以使用 randomLabel 作为触发事件的 sender。在此代码中,我尝试调整 sender 的字体属性,但它似乎给出了编译错误。有什么办法可以解决这个问题吗? priva
我有一个包含 16 个 TCheckBox 和 32 个 TEditBox 的表单。每 2 个 TEditBox 的启用取决于复选框的状态。所以我使用了这段太长的代码: //T1 procedure
我正在编写一个 Chrome 扩展,其中内容脚本向后台脚本发送消息。 chrome.runtime.sendMessage({greeting: "hello"}, function(response
我对 Winform 控件中 sender 参数的用途感到困惑,例如: Private Sub Form1_Load(sender As System.Object, e As System.Even
我有以下代码用当前时间更新文本字段的值。我的问题是:为什么在代码的底部发送 nil 作为发件人? [self showCurrentTime:nil]; CurrentTimeViewControll
我编写了一个 Java 线程(可运行)来基本上存储 DatagramPackets 列表,如果列表的大小 > 0,它将发送列表中的第一项。 看来,除非我在 run 方法中放置大量 sleep ,否则线
我正在使用位于 github here 上的 pjjanak 的 chromecast-hello-world 应用程序测试我的 chromecast . 他向 message 事件添加了一个监听器,
当我在 Laravel 5.1 中重置密码时,我收到了电子邮件,但标题中显示“无发件人”。 有没有办法从某处指定密码重置电子邮件的发件人?除了发件人,我假设 Laravel 应该自动使用配置文件中指定
我总是收到此错误,而且我不知道还要输入什么。 你们知道这是怎么回事吗? @IBAction func loginAction(sender: AnyObject) { let email =
我想制作一个按钮,使其在点击后保持按下状态。所以我制作了一个插槽 make_pushed ,我试图将其用于该目的。单击的按钮由 QObject::sender() 方法标识。但是出了点问题,因为它不起
我是一名优秀的程序员,十分优秀!