Добавление элементов XML в ListBox - PullRequest
0 голосов
/ 31 марта 2012

Я не знаю, как преобразовать тип для имени, чтобы каждый элемент в нем мог быть добавлен в мой ListBox. Если кто-то может помочь, это будет высоко ценится.

XDocument doc = XDocument.Load(workingDir + @"\Moduleslist.xml");

var names = doc.Root.Descendants("Module").Elements("Name").Select(b => b.Value);

listBox1.Items.AddRange(names);

Я получаю сообщение об ошибке в AddRange (names) с неверными аргументами

Ответы [ 3 ]

2 голосов
/ 31 марта 2012

names - это IEnumerable<String>, а listBox.Items.AddRange ожидает массив объектов, и между ними нет неявного приведения.

Быстрое решение было бы:

listBox1.Items.AddRange(names.ToArray());

или

foreach (var item in names)
{
    listBox1.Items.Add(item);
}
1 голос
/ 31 марта 2012

Попробуйте этот код вместо последней строки кода:

listBox1.DataSource = names;
this.listBox1.DisplayMember = YOURDISPLAYMEMBER;
this.listBox1.ValueMember = YOURVALUEMEMBER;
0 голосов
/ 31 марта 2012

возможно:

listBox1.Items.AddRange(doc.Root.Descendants("Module").Elements("Name").Select(b => b.Value).ToArray());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...