2011-08-15 101 views
0

已經有一段時間了,因爲我不得不攪亂語法以將使用XElement的XML數據集連接到WPF TreeView。我試圖重新創建一個非常簡單的示例,但是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

您沒有設置樹視圖的ItemTemplate(你似乎不小心將其設置爲ItemsSource),你不能隱式應用模板將XML數據使得它的資源(再設置一個按鍵,其防止兩種方式)。

我認爲在你後面的代碼中應該設置ItemsSource而不是DataContext,它應該是根元素的列表或僅包含根元素的單元素列表。

+0

華友世界,這是訣竅。我生命中的2個小時我永遠不會回來:D。我必須開始將這些東西提交給記憶。 – Ultratrunks