【发布时间】:2014-01-15 12:36:59
【问题描述】:
我是 WPF 新手并尝试在 DataGrid 中添加行作为数据,我尝试了以下代码,它添加了行但不显示行中的文本。
我有一个XElement array,我想从中循环foreach 并在DataGrid 中添加项目
成功添加后,有什么方法可以将ID 分配给DataGrid 的行,所以当我单击行时,我可以获得指定行的ID。请指导。
(编辑) XElement 数组包含 XML
[0] => <objective id="1" title="obj 1"> </objective>
[1] => <objective id="2" title="obj 2"> </objective>
[2] => <objective id="3" title="obj 3"> </objective>
我试过的代码,在 Grid 中添加空行:
var datagridTopic = new DataGrid {Width = 400, IsReadOnly = true};
//I only need one column
datagridTopic.Columns.Add(new DataGridTextColumn()
{
Header = "Topic",
Width = datagridTopic.Width - 8 //after adding rows the grid gets scroll, so made column width lower
});
datagridTopic.Items.Add("obj 1");
datagridTopic.Items.Add("obj 2");
StackPanelContent.Children.Add(datagridTopic);
我想做的是:
foreach (var element in XElement)
{
string title = element.Attributes("title").ElementAt(0).Value; // obj 1
datagridTopic.Items.Add(title);
}
【问题讨论】: