LogicalTreeHelper.GetParent()
메서드를 재귀 적으로 사용하여 다양한 다른 WPF 요소의 루트 요소를 찾습니다. 이 거의 모든 일을 잘 작동하지만 DataGridTextColumn
같은 DataGridColumn 실패합니다. DataGridColumn
이 논리 트리 또는 시각적 트리의 일부가 아니라는 것을 알게되었습니다. 어떻게 든 속한 DataGrid
을 찾을 수 있습니까? (그리드에서 루트를 가져옵니다)?DataGridColumn의 루트 요소 찾기
MSDN 설명서 읽기 적절한 솔루션을 찾을 수 없습니다. 고맙습니다.
private DependencyObject FindLogicalRoot(DependencyObject obj)
{
if (obj == null)
return null;
else
{
var parent = LogicalTreeHelper.GetParent(obj);
return parent != null ? FindLogicalRoot(parent) : obj;
}
}
안녕하세요 ... 내가 볼 수 찾을 수 원하는 열 각 데이터 그리드에 대한 열을 비교합니다. DataGrid.Columns 속성은 TextBlock.Text 또는 다른 속성과 마찬가지로 일반 속성입니다. DataGrid는 열 정의를 사용하여 열을 생성하지만 정의 자체는 시각적 트리에 추가되지 않습니다. DataGridColumn에서 부모로 탐색하려는 이유를 묻는 질문을 할 수 있습니까? – ColinE
루트 요소의 유형을 찾는 데 필요한 MarkupExtension을 작성했습니다. – slurmomatic
그럼 DataGridColumn에서 부모 DataGrid를 찾고 싶습니까? –