我是xml以及WPF的新手。我有一个xml文件,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<Listofattributes>
<Attribute name="Patient Name" Value="John"/>
<Attribute name="Sex" Value ="female"/>
</Listofattributes>
我试图将值加载到WPF的列表框中。请帮我解决一下我是怎么做到的。尝试阅读很多文章,但我无法弄明白。谢谢!
答案 0 :(得分:1)
您可以使用XmlDataProvider来引用包含该文件的单独文件 数据如:
<XmlDataProvider x:Key=”OrgChartData” Source=”orgchart.xml” XPath=”Sex”/>
OR
<XmlDataProvider x:Key=”regions” XPath=”Regions”>
<x:XData>
<Regions xmlns=””>
<Region RegionName=”East”>
...
</Region>
<Region RegionName=”Central”>
...
</Region>
</Regions>
</x:XData>
</XmlDataProvider>
然后确定ListBox.ItemTemplate的DateTemplate,它将具有这样的Binding:
<DataTemplate DataType=”Region” ItemsSource=”{Binding XPath=*}”>
<TextBlock Text=”{Binding XPath=@RegionName}” />
</DataTemplate>
你的ListBox.ItemsSource应该是=&#34; {StaticResource regions}&#34;。
如果你有单独的文件,你可以写下一行
<XmlDataProvider x:Key=”regions” Source=”Regions.xml” XPath=”Regions”/>
答案 1 :(得分:0)
或以编程方式:
void form_Loaded(object sender, RoutedEventArgs e)
{
XElement xml = XElement.Parse(string.Join("", File.ReadAllLines("XMLFile1.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;
ListBox.Items.Add(item);
}
}