Member 14672509 Ответов: 2

Как загрузить значение XML-файла в listbox в C# WPF.


как я могу загрузить значение XML-файла в listbox, когда окно загружено ??.
Я хочу, чтобы как в XML - файле элемент списка был сохранен. после того, как окно будет загружен предыдущему значению XML будут загружены в список.

Пожалуйста, кто-нибудь помогите мне решить эту проблему..

Что я уже пробовал:

void Window_Loaded(object sender, RoutedEventArgs e)
{
XElement xml = XElement.Parse(stringJoin("", File.ReadAllLines("WH_Num.xml")));

foreach (XElement el in xml.Elements())
{
ListBoxItem item = new ListBoxItem();
string name = el.Attribute("name").Value;
string value = el.Attribute("value").value;
item.Content = name + ": " + value;

ListBox1.Items.Add(item);
}
}


Я попробовал вышеописанный код для загрузки, но он не работал. После загрузки окна список все еще пуст.

Richard MacCutchan

Используйте свой отладчик, чтобы отследить код и точно увидеть, какие значения извлекаются из источника XML.

2 Ответов

Рейтинг:
1

Garth J Lancaster

Как и предложение Ричарда, я бы попробовал упростить "добавить цикл" до

foreach (XElement el in xml.Elements())
{
    string listBoxElement = "";
    string name = el.Attribute("name").Value;
    string value = el.Attribute("value").value;
    listBoxElement  = name + ": " + value;

    ListBox1.Items.Add(listBoxElement);
}


Member 14672509

я попробовал сейчас, но это тоже не сработало. после загрузки окна список будет пуст.

Рейтинг:
1

RickZeeland

Я бы рекомендовал использовать XmlDataProvider и ListBox ItemsSource.
Смотрите пример здесь: wpf - отображение данных из XML-файла, в списке - переполнение стека[^]