如何在C#WPF中将数据集从XML绑定到ItemSource?

时间:2015-03-14 16:20:04

标签: c# xml wpf datagrid dataset

我正在尝试将数据集从XML绑定到ItemSource并且不能正确。

以下是.xaml部分:

<DataGrid Name="dgLogView" ItemsSource="{Binding}" />

这是背后的代码:

using (XmlLogfileStream logfileStream = new XmlLogfileStream(filename))
{
    // File contents to read
    // <LogInfo><Time>2015-03-14 17:01:43</Time><Message>Logging first time with XML in C#</Message></LogInfo>
    // <LogInfo><Time>2015-03-14 17:02:11</Time><Message>Logging first time with XML in C#</Message></LogInfo>
    // ...

    DataSet ds = new DataSet();
    ds.ReadXml(logfileStream);

    dgLogView.ItemsSource = ds.Tables["LogInfo"].AsEnumerable();
}

问题的截图:
issue screenshot

1 个答案:

答案 0 :(得分:0)

我通过更改我的代码得到了解决方案:

using (XmlLogfileStream logfileStream = new XmlLogfileStream(filename))
{
    DataSet ds = new DataSet();
    DataTable dataTable = new DataTable("LogInfo");
    dataTable.Columns.Add("Time", typeof(string));
    dataTable.Columns.Add("Message", typeof(string));
    ds.Tables.Add(dataTable);

    ds.ReadXml(logfileStream);
    dgLogView.ItemsSource = dataTable.DefaultView;
}