2010-11-23 225 views
0

我想以編程方式將包含從數據庫中抽出的一些結果的XML文件綁定到我的Datagrid。我的XML看起來像:WPF Datagrid綁定到xml

<root> 
    <resultset> 
     <header> 
      <column> Col 1 </column> 
      <column> Col 2 </column> 
     </header> 

     <data> 
      <row> 
       <field>Value field 1</field> 
       <field>Value field 2</field> 
      </row> 
      <row> 
       <field>Value field 1</field> 
       <field>Value field 2</field> 
      </row> 
     </data> 
    </resultset> 
</root> 

我試圖映射頭DataGrid標題,行至行......唯一的事情是,我有點卡住了,我失去了中程序化的屬性,有人可以給我一個暗示什麼要照顧?

我試着這樣做:

myDataGrid.ItemsSource = myXmlDoc 

但它並不能真正幫助什麼也不顯示嘿嘿,我讀過的一些「路徑」綁定屬性,但我不能找到它。

回答

1

我想你已經有xmldataprovider與XML源命名myXMLDoc。 然後你可以將XML數據綁定到你的WPF控件。

ItemsSource="{Binding Source={StaticResource myXMLDoc}, XPath=row}}" //bind "row" elements to your control 
+0

WOW我不知道我可以把程序化表達式......哥們,真棒!非常感謝你。它給了我行(但是空的),但它比我在挖掘找出錯誤之前所做的更好。再次,謝謝 – CoolStraw 2010-11-23 09:53:36

1

這是你在找什麼?

http://joshsmithonwpf.wordpress.com/2007/06/04/binding-to-xml/

我想你想要做的是掛鉤的ItemsSource到XmlDataProvider(你也可以在代碼中創建),其XPath設置爲/root/resultset/data/row。然後對於可以使用的每個元素,請說Text = {Binding XPath=./field}

我在細節上有點玄乎,因爲我已經有一段時間沒有這樣做,而是希望這會爲您在正確的方向。

+0

謝謝您的回答麗。事情是,我想要以編程方式實現**(由於應用程序目的/拱,無法在XAML中完成)。事情是,以編程的方式,我不能再使用綁定表達式,這就是爲什麼我會在所有這些屬性中迷失方向,我正在閱讀關於數據綁定的MSN文章,但它仍然令人困惑。 (**新** WPF的方式:P) – CoolStraw 2010-11-23 09:49:26