2011-11-21 2 views
0

는 XML 파일을 구문 분석? 그냥 추측 노드를 추가하는 방법을 이해하지 않습니다 ....XML 구문 분석 및 트 리뷰

<TreeView Margin="177,61" Name="myTreeView" ItemsSource="{Binding XPath=XmlNodeType.Element}" > 
    <TreeView.ItemTemplate> 
     <HierarchicalDataTemplate ItemsSource="{Binding XPath=XmlNodeType.Element}"> 
      <TextBlock Text="{Binding XPath=XmlNodeType.Text}" /> 
     </HierarchicalDataTemplate> 
    </TreeView.ItemTemplate> 
</TreeView> 

을 아무것도가 표시되지 않습니다 당신은 뒤에 코드에 노드를 추가 할 필요가 ...

답변

2

: 내가 지금까지 무슨이다 이렇게 :

var newNode = new TreeViewItem 
{ 
    Header = "New Node" 
}; 
myTreeView.Items.Add(newNode); 

이렇게하면 노드가 트리의 맨 위에 추가됩니다. BTW

// Find the node you want to have as parent. 
var parentNode = myTreeView.Items.Cast<TreeViewItem>().FirstOrDefault(item => item.Header = "Parent Node"); 
if (parentNode != null) 
{ 
    var newNode = new TreeViewItem 
    { 
     Header = "New Node" 
    }; 
    parentNode.Items.Add(newNode); 
} 

: 계층 구조를 구축하려면 당신이 그와 같은 appropiate 위치에 노드를 추가 할 필요가 내가 XAML의 요소 이름을 x:Name 재산권에 사용하는 것이 때로는 뒤에 코드에서 몇 가지 문제가있다 Name

+0

와우, 정말 멋지다! 도와 주셔서 감사합니다. 당신에게 투표를하고 응답을 선택했습니다 – BigBug

+0

hmmm이 계층을 만들 때이 부분에 문제가있는 것 같습니다. "item.Header ="부모 노드 ")"또한, 나는 그 줄을 꽤 이해한다고 생각하지 않습니다. 나 한테 설명 해줄 수 있니? – BigBug

+0

이것은 부모 노드를 찾는 예제 일뿐입니다. xml 파일을 "걸어서"노드를 추가하면 이미 모든 하위 노드에 대해 해당 부모 노드가 있습니다. 내가 게시 한 행은 다음과 같이 (샘플로) 수행합니다 : 모든 항목을 가져 와서 TreeViewItem으로 캐스팅하고 첫 번째 노드 인 "상위 노드"를 헤더로 검색합니다. – Fischermaen