У меня есть WPF UserControl, который содержит кнопку. У меня также есть окно WPF, которое содержит кнопку.
И в пользовательском контроле, и в окне я помещаю следующую строку в XAML:
UIElement.PreviewMouseLeftButtonDown="OnPreviewMouseLeftButtonDown"
и в 'OnPreviewMouseLeftButtonDown' я разместил отладочную печать, отображающую args.Source.
Когда я нажимаю на кнопку, которая находится внутри окна, я получаю кнопку как источник EventArgs. Однако, когда я нажимаю кнопку внутри UserControl (которая также находится внутри окна, чтобы я мог проверить его, но не в том же окне), я получаю UserControl как источник EventArgs.
Я устал видеть, есть ли какой-нибудь декоратор вокруг UserControl (используя snoop), но это кажется прямым.
Я не могу понять, что такого особенного в UserControl в WPF, что я не получаю нужного отправителя. Может кто-нибудь объяснить мне, что мне не хватает?