gpt4 book ai didi

c# - WPF 内部 : Why UserControl is overriding AdjustBranchSource?

转载 作者:行者123 更新时间:2023-11-30 21:25:27 24 4
gpt4 key购买 nike

通过使用反射器,您可以看到 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/

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