ListItem无法使用winforms

时间:2013-11-27 05:14:17

标签: c# winforms linq combobox

我只是尝试在运行时从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应用程序。

任何帮助?

1 个答案:

答案 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不存在。我在上面使用了一个匿名类并将其转换为一个列表,我可以将其用作组合框的源。