作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
通过使用反射器,您可以看到 WPF UserControl 正在覆盖 AdjustBranchSource。
internal override void AdjustBranchSource(RoutedEventArgs e)
{
e.Source = this;
}
我自己的问题是该问题引起的不一致。当元素基于用户控件内部或外部时。 Source 参数的行为不同。令我惊讶的是,源应该始终是 RoutedEvent 目标中的元素。
问题是为什么要这样实现?
最佳答案
这有点道理。如果您将 UserControl 视为黑盒,那么您不应该知道它上面有哪些控件,因此也不知道事件的来源。
如果您需要区分 UserControl 上的不同按钮,那么 UserControl 应该有它自己的按钮触发的事件。这样从外部看起来是正确的事件,而 UserControl 的用户不需要知道哪个按钮执行了哪个事件。
举个例子,在列表框上,你需要知道向下滚动按钮是发送原始事件的按钮吗?或者您只需要知道触发了向下滚动事件。
关于c# - WPF 内部 : Why UserControl is overriding AdjustBranchSource?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/648542/
我是一名优秀的程序员,十分优秀!