2011-08-15 10 views
0

これは、実際にはWPF TreeViewにXElementを使用してXMLデータセットをフックする構文を混乱させてしまったためです。私はかなり簡単な例を作り直そうとしましたが、TreeViewに何も表示されません。XElementを使用したXMLデータのWPF TreeViewへの簡単なバインド

は、ここに私のXAML

<Window.Resources> 
    <HierarchicalDataTemplate ItemsSource="{Binding Path=Elements}" x:Key="ViewEditTreeTemplate"> 
     <StackPanel Orientation="Horizontal" Margin="1"> 
      <Label x:Name="ElementHeaderLabel" Content="{Binding Path=Name.LocalName}" /> 
     </StackPanel> 
    </HierarchicalDataTemplate> 
</Window.Resources> 


<Grid> 
    <TreeView Name="DataTree" ItemsSource="{Binding Source={StaticResource ViewEditTreeTemplate}}" Height="160" Width="176" /> 
</Grid> 

であり、ここでの背後にあるコードです。

XElement Element = XElement.Load("test.xml"); 
DataTree.DataContext = Element; 

「test.xml」は正しくフォーマットされており、読み込み中にエラーはありません。私はデータコンテキストを設定した後、何も表示されない理由は分かりません。

答えて

0

TreeViewのと誤って設定したように見せていて、それをリソースにするXMLデータに暗黙的にテンプレートを適用することはできません。

DataContextの代わりにItemsSourceを設定する必要があります。ルート要素のリストまたはルート要素のみを含む1要素リストのいずれかにする必要があります。

+0

ハレイ、それはトリックだった。私の人生の2時間私は戻ってくることはありません:D。私はこのことを思い出すことから始めなければならない。 – Ultratrunks