Можно ли определить, какое окно /usercontrol владеет FrameworkElement?
Можно ли определить, какое окно / пользовательский контроль владеет FrameworkElement
?
Спасибо.
3 ответа
Решение
Вы можете "подняться", используя .Parent
-Свойства, пока вы не найдете окно или пользовательский контроль. Просто проверьте тип родителя при ходьбе.
Или вы можете просто использовать статический вспомогательный метод GetWindow(DependencyObject dependencyObject) из класса Window. Этот метод возвращает объект Window, в котором находится элемент.
Хотя ответ Фишермэна работает в большинстве случаев, он сломается, если в вашем коде есть шаблоны. В этом случае вы должны проверить оба, .Parent
а также .TemplatedParent
когда вы пройдете вверх