我只是尝试在运行时从XML文件中将值添加到combobox
的项目
Windows应用程序。以下代码在Windows开发中不起作用。
//代码:
XDocument xDoc = XDocument.Load(@"Yourxmlfile.xml");
var query = from xEle in xDoc.Descendants("publication")
select new ListItem(xEle.Element("name").Value,
xEle.Attribute("tcmid").Value);
cmbLoad.ValueMember = "value";
cmbLoad.DisplayMember = "text";
cmbLoad.DataSource = query;
在上面的代码中,ListItem
类不适用于winforms,因此我无法继续。
上述代码适用于Web应用程序。
任何帮助?
答案 0 :(得分:3)
您可以使用以下代码实现:
XDocument xDoc = XDocument.Load(@"Yourxmlfile.xml");
var query = from xEle in xDoc.Descendants("publication")
select new { value = xEle.Element("name").Value, text = xEle.Attribute("tcmid").Value };
var list = query.ToList();
comboBox1.ValueMember = "value";
comboBox1.DisplayMember = "text";
comboBox1.DataSource = list;
对于WinForms, ListItem
不存在。我在上面使用了一个匿名类并将其转换为一个列表,我可以将其用作组合框的源。