0
我想以編程方式將列添加到我的數據網格並綁定它。以編程方式添加並綁定DataGrid列
我已經嘗試過在網絡上的例子,但不能得到的數據顯示。
我確實使用過在xaml中聲明的列。
這裏是DataGrid中的XAML聲明:
<DataGrid Grid.Row="0" x:Name="dtgMain" AutoGenerateColumns="False" ItemsSource="{Binding}" RowHeight="25" SizeChanged="dtgMain_SizeChanged"></DataGrid>
這裏是我設置爲DataGrid DataContext的:
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.LoadXml(response);
provider.Document = doc;
provider.XPath = "/moo/response/data/load/panel";
dtgMain.DataContext = provider;
這裏是我添加列:
DataGridTextColumn dc = new DataGridTextColumn();
dc.Binding = new Binding("panelCode");
dc.Header = "Job Number";
dtgMain.Columns.Add(dc);
這裏是一個xml的例子:
<moo>
<response>
<data>
<load count="2">true
<panel index="10">
<panelCode>100072
</panelCode>
</panel>
</load>
</data>
</response>
</moo>
就像我說過的這段代碼在xaml中聲明列時工作的很好。所以即時猜測這個問題是與即時通訊聲明綁定在datacolumn上。我只是試過這個,但它仍然不起作用。 – user589195 2012-02-24 11:35:45
@ user589195:你說得對,我編輯了我的答案。 – 2012-02-24 11:37:37
我認爲,因爲我使用Xpath來設置我的datacontext,datacolumn的綁定將從該點開始在xml中?所以它會像dc.Binding =新的綁定(「/ moo/response/data/load/panel/panelCode」); – user589195 2012-02-24 11:39:04