2015-04-04 56 views
0

问题背景:如何在WPF中提取ListBox的selectedItem的XMLElement?

在我的WPF应用程序中,其中一个窗口/页面包含3个列表框和1个组合框。这3个ListBox绑定了XML数据提供者,没有问题。我的意思是当第一个列表框选择改变时自动更新listbox2。以同样的方式,listbox3更新为listbox2更改。这些都是在单独的XAML文件制定出来,有代码隐藏除的InitializeComponent()和加载动态使用XAMLReader该XAML文件的几行代码(这是我的要求)

问题面临需求:

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

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

我已经尝试了所有possiblities,到处都是我只得到XML树。

任何人都有任何想法,如何从XMLElement中提取列表框选定的项目文本?

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

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

感谢

+0

类似的问题:[链接](http://www.programask.com/question_31363761_wpf-binding- to-xml-how-to-extract-selected-xmlelement-and-cast-to-object /) – ShanmugaKS 2015-04-04 22:07:58

+0

相似的问题,{link](http://stackoverflow.com/questions/13960278/wpf-binding-to-xml -how-to-extract-selected-xmlelement-and-cast-to-object?rq = 1) – ShanmugaKS 2015-04-05 00:00:32

回答

0

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

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

对不起har07我刚刚更新了@PS请看一看。由于我不知道映射哪个元素/属性,我不能认为这是解决方案。 – ShanmugaKS 2015-04-05 07:33:46