Можно ли определить, какое окно / usercontrol владеет FrameworkElement? - PullRequest
1 голос
/ 25 октября 2011

Можно ли определить, какому окну / элементу управления пользователя принадлежит FrameworkElement?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 25 октября 2011

Вы можете «подняться» с помощью свойства .Parent, пока не найдете окно или пользовательский контроль.Просто проверяйте тип родителя при ходьбе.

3 голосов
/ 09 декабря 2015

Или вы можете просто использовать статический вспомогательный метод GetWindow (DependencyObject dependencyObject) из класса Window. Этот метод возвращает объект Window, в котором находится элемент.

3 голосов
/ 25 октября 2011

Хотя ответ Фишермэна работает в большинстве случаев, он сломался бы, если бы в вашем коде были шаблоны. В этом случае вам придется проверять оба значения, .Parent и .TemplatedParent при переходе вверх

...