Не могу найти родительский элемент шаблонного элемента управления по типу (!) (Wpf)

В моем проекте WPF у меня есть немного сложный элемент управления. В проекте я использую только элементы управления (все они шаблонные), кроме MainWindow.

На одном экране у меня есть следующий макет (для отображения макета после применения шаблонов и заполнения содержимого): -MyTableControl
--ItemsControl
--- HeaderItemsControl
----- HeaderItemsControl.Header
------ MyHeaderControl
----- HeaderItemsControl.Items
------ MyItemControl
------ MyItemControl
------ MyItemControl
...

Когда я нахожусь в файле кода ScreenControl, в методе OnMouseLeftButtonDown я хотел бы определить, произошло ли событие щелчка из MyHeaderControl или MyItemControl.

Источник MouseButtonEventArgs - это ScreenControl, а исходный источник - TextBlock в шаблоне MyItemControl / MyHeaderControl.

Моя первая попытка найти MyItemControl / MyHeaderControl заключалась в том, чтобы начать с OriginalSource и рекурсивно посмотреть на тип свойства Parent. Он работает нормально, пока я не доберусь до корня шаблона (который в данном случае является ViewBox), но в корне нет родительского элемента.

Я использовал такой метод в предыдущем моем проекте az, и он работал , но тогда я работал с UserControls, а не с элементами управления или шаблонами. Tenshiko

5
задан Tenshiko 2 December 2010 в 15:51
поделиться