首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >事件源与原始源

事件源与原始源
EN

Stack Overflow用户
提问于 2015-02-24 05:22:49
回答 1查看 6K关注 0票数 8

我正在阅读C# WPF的书,在路由事件一章中,事件具有两个相同的属性SourceOriginalSource。我看不出他们之间有什么区别:

Xaml:

代码语言:javascript
运行
复制
<Button Name="Ok" Click="Ok_Click"/>

代码背后:

代码语言:javascript
运行
复制
private void Ok_Click(object sender, RoutedEventArgs e)
{
        bool flag = false;
        var source = e.Source;
        var originalSource = e.OriginalSource;
        if (source == originalSource)
        {
            flag = true;
        }
}

flag property true这里,有人能解释为什么两个相同的属性或者在这种情况下这个属性没有影响吗?或者我们在哪里可以看到这个属性的用例?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-24 05:52:04

控件可以作为子控件在其中具有其他控件。当您从控件订阅一个事件时,您订阅的父控件很可能是e.Source,但是,如果该控件有子控件,并且该子控件是引发该事件的子控件,则OriginalSource将是引发该事件的子控件。

一个常见的用例是在一个KeyDown上订阅DataGrid事件。源可能是网格,但原始源可能是单元(或单元格中的某些组件)。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28688686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档