2011-12-07 65 views
3

我有一個XmlDataProvider綁定到WPF TreeView的問題。針對XmlDataProvider的綁定失敗?

TreeView的是XAML的定義是這樣的:

<TreeView ItemsSource="{Binding Path=SelectedSystemVersionHistory}"/> 

,我有在父網格資源的樹視圖在XML文件中節點的HierarchicalDataTemplate:

<HierarchicalDataTemplate DataType="Documentation" ItemsSource="{Binding XPath=*}"> 
    <TextBlock Text="{Binding [email protected]}"/> 
</HierarchiclaDataTemplate> 

我的視圖模型有這個屬性:

public XmlDataProvider SelectedSystemVersionHistory 
{ 
    get 
    { 
    String file = GetHistoryFile(); //returns full Filepath 
    return new XmlDataProvider() 
    { 
     source = new Uri(file, UriKind.Absolute), 
     XPath= "History" 
    }; 
    } 
} 

和Xml看起來像這樣:

<?xml version="1.0" standalone="yes" encoding="utf-8"> 
    <History> 
    <Documentation SoftwarePackage="SoftwarePackageName"> 
     <Entry>...</Entry> 
    </Documentation> 
    </History> 

問題是TreeView沒有顯示任何東西,所以怎麼了? 我工作的這幾天,現在...:O( 感謝ü的幫助

+0

始終:http://i.stack.imgur.com/MF8i5.png此外,無需前綴您的標題與標籤。 – Will

回答

1

可惜你不能綁定XmlDataProvider的文檔和源屬性直接,他們不是DependencyProperties 。另請參見How to bind XmlDataProvider.Source to MVVM property

你可以做的是分配TreeView的的DataContext到XMLDataProvider:

<TreeView DataContext="{Binding SelectedSystemVersionHistory}" ItemsSource="{Binding XPath=Documentation}"/>