С помощью рефлектора вы можете видеть, что пользовательский интерфейс WPF переопределяет параметр AdjustBranchSource.WPF internal: Почему UserControl переопределяет AdjustBranchSource?
internal override void AdjustBranchSource(RoutedEventArgs e)
{
e.Source = this;
}
Моя собственная проблема касается несогласованности, вызванной этой проблемой. Когда элемент находится внутри пользовательского элемента управления или снаружи. Параметр Source ведет себя по-разному. Что удивляет меня, что источник всегда должен быть элементом цели с помощью RoutedEvent.
Вопрос в том, почему это было реализовано так?
Я мог бы, это боль. Вы получите ButtonChrome или другой элемент как часть. После этого вам нужно будет вывести элемент из визуального дерева. не очень. – ArielBH