Передача элементов XML в список в wpf - PullRequest
0 голосов
/ 17 августа 2011

Я новичок в XML, а также WPF.У меня есть XML-файл, как показано:

<?xml version="1.0" encoding="utf-8"?>
<Listofattributes>
      <Attribute name="Patient Name" Value="John"/>
      <Attribute name="Sex" Value ="female"/>
</Listofattributes>

Я пытаюсь загрузить значения в список в WPF.Пожалуйста, помогите мне с тем, как я мог это сделать.Пробовал читать много статей, но я не мог понять это.Спасибо!

Ответы [ 2 ]

1 голос
/ 17 августа 2011

Вы можете использовать XmlDataProvider для ссылки на отдельный файл, содержащий данные, как в:

<XmlDataProvider x:Key=”OrgChartData” Source=”orgchart.xml” XPath=”Sex”/>

ИЛИ

<XmlDataProvider x:Key=”regions” XPath=”Regions”>
    <x:XData>
        <Regions xmlns=””>
        <Region RegionName=”East”>
            ...
        </Region>
        <Region RegionName=”Central”>
            ...
        </Region>
        </Regions>
    </x:XData>
</XmlDataProvider>

, а затем определить DateTemplate ListBox.ItemTemplate, которыйПривязка будет выглядеть так:

<DataTemplate DataType=”Region” ItemsSource=”{Binding XPath=*}”>
    <TextBlock Text=”{Binding XPath=@RegionName}” />
</DataTemplate>

И ваш ListBox.ItemsSource должен быть = "{StaticResource регионов}".

Если у вас есть отдельный файл, вы можете написать следующие строки

<XmlDataProvider x:Key=”regions” Source=”Regions.xml” XPath=”Regions”/>
0 голосов
/ 17 августа 2011

или программно:

    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);
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...