Я использую метод LogicalTreeHelper.GetParent()
рекурсивно, чтобы найти корневые элементы различных других элементов WPF.Это прекрасно работает практически со всем, но не работает для DataGridColumn, например DataGridTextColumn
.Я обнаружил, что DataGridColumn
не является ни частью логического дерева, ни визуального дерева.Можно ли как-то найти DataGrid
, к которому он принадлежит (и затем получить рут из сетки)?
Читая документацию MSDN, я не смог найти подходящего решения.Спасибо.
Мой код для поиска логического корня:
private DependencyObject FindLogicalRoot(DependencyObject obj)
{
if (obj == null)
return null;
else
{
var parent = LogicalTreeHelper.GetParent(obj);
return parent != null ? FindLogicalRoot(parent) : obj;
}
}