Как извлечь XMLElement выбранного элемента ListBox в WPF?
Проблема фона:
В моем приложении WPF в одном окне / странице содержится 3 списка и 1 поле со списком. Эти 3 List Box связаны с поставщиком данных XML, и проблем нет. Я имею в виду, когда 1-й список выбора меняется автоматически обновляет listbox2. Таким же образом listbox3 обновляется по мере изменения listbox2. Все они проработаны в одном файле XAMl, и есть код позади, кроме InitializeComponent() и нескольких строк кода для динамической загрузки этого файла XAML с использованием XAMLReader(это мое требование)
Проблема, стоящая перед требованием:
Событие изменения OnSelection любого из ListBox, должно динамически заполнять данные ComboBox (оно будет запускать веб-сервисы, которые основаны на вышеупомянутом выборе 3 LisBox). Для этого в SelectionChange пытаюсь получить
ListBoxObj.SelectedItem - Always contains XML tree.(i.e) of type XMLElement
Я перепробовал все возможности, везде я получаю только дерево XML.
Кто-нибудь есть идеи, как извлечь ListBox выбранный текст элемента из XMLElement?
Есть ли быстрый способ преобразовать мое дерево XmlElement в выделенный текст, (или) мне нужно вызвать сериализатор и сделать это вручную?
PS: Для меня XAML-файл - единственный вход, поэтому я не знаю, какое значение отображено в ListBox. Я не знаю, отображается ли ListBox на элемент / атрибут. Итак, сначала мне нужно извлечь информацию о сопоставлении из файла XAML и вручную проанализировать дерево XML.
Спасибо
1 ответ
Чтобы получить текстовую часть из XmlElement
посмотри в InnerText
имущество:
var selectedXml = (XmlElement)ListBoxObj.SelectedItem;
var selectedText = selectedXml.InnerText;
//do something useful with selectedText variable here