以编程方式添加和绑定DataGrid列

时间:2012-02-24 11:28:39

标签: c# wpf xml data-binding datagrid

我想以编程方式向我的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>

1 个答案:

答案 0 :(得分:3)

我的列绑定没有使用XPath

dc.Binding = new Binding() { XPath = "panelCode" };