事件源与原始源

2023-11-20

我正在阅读 C# WPF 书,在路由事件章节中,事件有 2 个相同的属性Source and OriginalSource。我没有看到它们之间的区别:

Xaml:

<Button Name="Ok" Click="Ok_Click"/>

背后代码:

private void Ok_Click(object sender, RoutedEventArgs e)
{
        bool flag = false;
        var source = e.Source;
        var originalSource = e.OriginalSource;
        if (source == originalSource)
        {
            flag = true;
        }
}

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


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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

事件源与原始源 的相关文章

  • Signalr 在生产服务器中总是陷入长轮询

    当我在服务器中托管应用程序时 它会检查服务器端事件并始终回退到长轮询 服务器托管环境为Windows Server 2012 R1和IIS 7 5 无论如何 我们是否可以解决这个问题 https cloud githubuserconten
  • 模板类的不明确多重继承

    我有一个真实的情况 可以总结为以下示例 template lt typename ListenerType gt struct Notifier void add listener ListenerType struct TimeListe
  • 在 Xamarin Android 中将图像从 URL 异步加载到 ImageView 中

    我有一个包含多个项目的 ListView 列表中的每个项目都应该有一个与之关联的图像 我创建了一个数组适配器来保存每个列表项并具有我希望加载的图像的 url 我正在尝试使用 Web 请求异步加载图像 并设置图像并在加载后在视图中更新它 但视
  • C++ 求二维数组每一行的最大值

    我已经设法用这个找到我的二维数组的每一行的最小值 void findLowest int A Cm int n int m int min A 0 0 for int i 0 i lt n i for int j 0 j lt m j if
  • 为什么 POSIX 允许在只读模式下超出现有文件结尾 (fseek) 进行搜索

    为什么寻找文件结尾很有用 为什么 POSIX 让我们像示例中那样在以只读方式打开的文件中进行查找 c http en cppreference com w c io fseek http en cppreference com w c io
  • 写入和读取文本文件 - C# Windows 通用平台应用程序 Windows 10

    有用 但在显示任何内容之前 您必须在文本框中输入内容 我想那是因为我使用了 TextChanged 事件处理程序 如果我希望它在没有用户交互的情况下显示文本文件的内容 我应该使用哪个事件处理程序 因此 我想在按下按钮时将一些数据写入 C W
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • WPF 从主线程以外的其他线程截屏

    我有一个线程用于侦听 WPF 应用程序的命令 如果 WPF 应用程序收到截取屏幕截图的命令 则任务将移交给 screenshotService 我在互联网上的某个地方找到了一些代码来截取屏幕截图 似乎可以工作 但我还没有想清楚 我无法从另一
  • 按字典顺序对整数数组进行排序 C++

    我想按字典顺序对一个大整数数组 例如 100 万个元素 进行排序 Example input 100 21 22 99 1 927 sorted 1 100 21 22 927 99 我用最简单的方法做到了 将所有数字转换为字符串 非常昂贵
  • 为什么模板不能位于外部“C”块内?

    这是一个后续问题一个答案 https stackoverflow com questions 4866433 is it possible to typedef a pointer to extern c function type wit
  • 使用安全函数在 C 中将字符串添加到字符串

    我想将文件名复制到字符串并附加 cpt 但我无法使用安全函数 strcat s 来做到这一点 错误 字符串不是空终止的 我确实设置了 0 如何使用安全函数修复此问题 size strlen locatie size nieuw char m
  • Windows 窗体不会在调试模式下显示

    我最近升级到 VS 2012 我有一组在 VS 2010 中编码的 UI 测试 我试图在 VS 2012 中启动它们 我有一个 Windows 窗体 在开始时显示使用 AssemblyInitialize 属性运行测试 我使用此表单允许用户
  • 是否有比 lex/flex 更好(更现代)的工具来生成 C++ 分词器?

    我最近将源文件解析添加到现有工具中 该工具从复杂的命令行参数生成输出文件 命令行参数变得如此复杂 以至于我们开始允许它们作为一个文件提供 该文件被解析为一个非常大的命令行 但语法仍然很尴尬 因此我添加了使用更合理的语法解析源文件的功能 我使
  • 我的 strlcpy 版本

    海湾合作委员会 4 4 4 c89 我的程序做了很多字符串处理 我不想使用 strncpy 因为它不会终止 我不能使用 strlcpy 因为它不可移植 只是几个问题 我怎样才能让我的函数正常运行 以确保它完全安全稳定 单元测试 这对于生产来
  • 可空属性与可空局部变量

    我对以下行为感到困惑Nullable types class TestClass public int value 0 TestClass test new TestClass Now Nullable GetUnderlyingType
  • 在 URL 中发送之前对特殊字符进行百分比编码

    我需要传递特殊字符 如 等 Facebook Twitter 和此类社交网站的 URL 为此 我将这些字符替换为 URL 转义码 return valToEncode Replace 21 Replace 23 Replace 24 Rep
  • 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

    我有一个 MVC 操作 它的参数之一是DateTime如果我通过 17 07 2012 它会抛出一个异常 指出参数为空但不能有空值 但如果我通过01 07 2012它被解析为Jan 07 2012 我将日期传递给 ajax 调用DD MM
  • Bing 地图运行时错误 Windows 8.1

    当我运行带有 Bing Map 集成的 Windows 8 1 应用程序时 出现以下错误 Windows UI Xaml Markup XamlParseException 类型的异常 发生在 DistanceApp exe 中 但未在用户
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的

随机推荐

  • 如何在 Shiny 中显示没有工具栏的绘图?

    这个问题是一个延伸this问题 我正在 Shiny 中绘制一个相当大的 ggplot Using renderPlot width 1500 height 1000 我能够展示整个情节 但是 我现在右侧有一个滚动条 我想扩展 FluidRo
  • 在 Python 3 中打印不带 b' 前缀的字节

    我如何打印bytes字符串不带b Python 3 中的前缀 gt gt gt print b hello b hello Use decode gt gt gt print b hello decode hello
  • 如何在同一手机上打开 WhatsApp Business 应用程序中的 wa.me 链接而不是个人 WhatsApp?

    我们在 Angular 8 中有一个 Web 应用程序 我们有以下代码来显示一个按钮 用户可以单击该按钮通过 WhatsApp 向联系人发送预定义的消息 a target blank href https wa me internation
  • 在 CakePHP 3 中加载来自供应商的 javascript 文件

    我的问题是如何从 CakePHP 3 0 中的供应商文件夹加载 js 文件 我已经通过 Composer 包含了 twitter bootstrap js 文件位于 vendor twbs bootstrap sass assets jav
  • 无法写入二进制文件

    我有以下 C 代码 int arr 1 2 3 4 5 6 7 8 9 10 ofstream output Sample txt ios out ios binary for int i 0 i lt 10 i output lt
  • 找不到强大的模块 - Node.js

    我开始使用 node j 进行开发 我遇到了有关使用 formidable 模块的问题 我有这个错误 错误 找不到模块 强大 以下是使用 npm lsinstalled 安装的模块列表 email protected email prote
  • 从命令行进行 MySQL 备份和恢复

    我正在使用命令行来备份和恢复 MYSQL 数据库 让我们使用我有一个数据库 Data1 其中包含视图和过程 当在Cmd line I use mysqldump i e gt bin gt mysqldump u root proot Da
  • CSS“content”属性中的 HTML 特殊字符

    我正在尝试使用 CSS before content 字段在项目之前添加内容 我想插入一个复选标记 但如果我在内容选项中使用它 它会打印为文字 我如何告诉 CSS 使其成为复选标记 而不是文字字符串 尝试这个 target before c
  • 如果用户 = 系统,.NET 用户设置存储在哪里?

    我一直在使用更新来更新我的一个应用程序并使用Properties Settings Default Upgrade 并发现我的更新程序重新启动我的应用程序后 它在系统用户而不是默认 登录用户下运行 这让我想知道 SYSTEM 的 user
  • 如何在 Perl 中使用变量作为正则表达式修饰符?

    我正在编写一个抽象函数 它将询问用户一个给定的问题并根据给定的正则表达式验证答案 重复该问题 直到答案与验证正则表达式匹配 但是 我还希望客户端能够指定答案是否必须区分大小写 所以像这样 sub ask my prompt validati
  • 如何检查 CachedRowSet 中是否存在列名?

    我正在从可能发生变化的视图中查询数据 在执行操作之前我需要知道该列是否存在crs get 我发现我可以查询metadata像这样在我请求数据之前查看一列是否存在 ResultSetMetaData meta crs getMetaData
  • 使用预定义的自定义键顺序数组按键对数组进行排序

    a array 0 gt a 1 gt b 2 gt c 3 gt d 我想将顺序更改为3 2 0 1 a array 3 gt d 2 gt c 0 gt a 1 gt b 如果您想以编程方式更改顺序 请查看各种PHP 中的数组排序函数
  • C# XNA 鼠标位置

    我在 XNA 中的鼠标坐标遇到一些问题 0x0 任意靠近 但不在 屏幕的左上角 我现在正在窗口模式下运行游戏 但坐标是基于屏幕的 而不是游戏窗口的 尽管 XNA 文档告诉我应该是其他情况 提前致谢 这是代码 namespace TheGam
  • MATLAB 编辑器中可以进行多光标编辑吗?

    Is there a way to multiline edit code in matlab Instead of copy paste a single line repeatedly or copy paste from matlab
  • 用连字符分隔的大小写的名称是什么?

    这是帕斯卡命名法 SomeSymbol 这是驼峰式命名法 someSymbol 这是snake case some symbol 所以我的问题是是否有一个被广泛接受的名称 some symbol 它通常用于 url 中 这个案例约定并没有真
  • C++ 时间戳到人类可读的日期时间函数

    我有一个简单的函数 我需要从时间戳返回人类可读的日期时间 但不知何故 它以秒为单位返回相同的时间戳 输入1356953890 std string UT timeStampToHReadble long timestamp const ti
  • 如何验证sqlplus可以连接?

    我想知道是否有可能获得sqlplus以某种方式输出以发现我的数据库是否已启动 我想在数据库上运行脚本列表 但在执行此操作之前 我想知道数据库是否已启动并正在使用我的脚本运行 这是我尝试过的 sqlplus DB1 lt lt EOF gt
  • 如何仅当querytext的长度等于2时才开始过滤

    如何才能仅当查询文本的长度等于 2 时才开始过滤 我有这段代码 但我不知道如何仅在 querytext length gt 2 时开始过滤
  • 关于 C 系列语言中有符号整数的使用

    当在我自己的代码中使用整数值时 我总是尝试考虑符号性 问自己整数是否应该有符号或无符号 当我确定该值永远不需要为负数时 我会使用无符号整数 我不得不说这种情况大多数时候都会发生 在阅读其他人的代码时 我很少看到无符号整数 即使表示的值不能为
  • 事件源与原始源

    我正在阅读 C WPF 书 在路由事件章节中 事件有 2 个相同的属性Source and OriginalSource 我没有看到它们之间的区别 Xaml