如何在WPF中提取ListBox的selectedItem的XMLElement?

时间:2015-04-04 21:54:51

标签: c# wpf list xaml xmldataprovider

问题背景:

在我的WPF应用程序中,其中一个窗口/页面包含3个列表框和1个ComboBox。这三个ListBox与XML dataprovider捆绑在一起,没有任何问题。我的意思是当第一个列表框选择更改自动更新listbox2。以同样的方式,listbox3更新为listbox2更改。这些都是单独在XAMl文件中解决的,除了InitializeComponent()之外还有代码隐藏,还有几行代码用于使用XAMLReader动态加载这个XAML文件(这是我的要求)

面临的问题要求:

任何ListBox的OnSelection更改事件,需要动态填充ComboBox数据(它将触发基于上述3 LisBox选择的webservices)。为此,在SelectionChange中我试图获得

ListBoxObj.SelectedItem  - Always contains XML tree.(i.e) of type XMLElement

我已经尝试了所有可能性,无处不在我只获得XML树。

任何人都有任何想法,如何从XMLElement中提取ListBox选择的项目文本?

是否有快速方法将我的XmlElement树转换为选定的文本, (或)我是否必须调用序列化程序并手动执行?

P.S: 对我来说,XAML文件是唯一的输入,所以我不知道ListBox映射到什么值。我不知道ListBox是否映射到元素/属性。 首先,我需要从XAML文件中提取映射信息并手动解析XML树。

由于

1 个答案:

答案 0 :(得分:0)

要从XmlElement获取文本部分,请查看InnerText属性:

var selectedXml = (XmlElement)ListBoxObj.SelectedItem;
var selectedText = selectedXml.InnerText;
//do something useful with selectedText variable here