Проблема с привязкой данных WPF к XML-файлу - PullRequest
0 голосов
/ 14 декабря 2009

Я нахожусь в процессе создания приложения для сообщений в WPF, и как часть этого у меня есть список, который показывает все доступные в настоящее время сообщения с авторами Заголовок и Имя. В любом случае, я сейчас нахожусь в разработке, но данные, которые я хочу показать, не отображаются, а заголовки появляются (Автор: и Название :). Помните, что мой XML-файл - это тест, который, как я знаю, работает в другом проекте, который я видел в Интернете.

Любая помощь будет оценена спасибо.

XAML для шаблона Databinding и ItemsSource:

<XmlDataProvider x:Key="Announcement" Source="Data/People.xml" XPath="People"/>
        <DataTemplate x:Key="AnnouncementTemplate">
            <StackPanel Orientation="Horizontal">
                <TextBlock Text="Author: " FontWeight="Bold"/>
                <TextBlock>
                    <TextBlock.Text>
                        <Binding XPath="./ImageFile"/>
                    </TextBlock.Text>
                </TextBlock>
                <TextBlock Text="Title: " FontWeight="Bold"/>
                <TextBlock Text="{Binding XPath=./Notes/}"/>
            </StackPanel>
        </DataTemplate>
<ListBox Style="{StaticResource SpecialListStyle}"
                     Name="listBox1"
                     Grid.Row="1"
                     Margin="10,10,10,10"
                     IsSynchronizedWithCurrentItem="True"
                     SelectedIndex="0"
                     ItemContainerStyle="{StaticResource SpecialListItem}"
                     Foreground="Black"
                     ItemsSource="{Binding Source={StaticResource Announcement}, XPath=Person}"
                     ItemTemplate="{StaticResource AnnouncementTemplate}"/>

XML-файл:

<?xml version="1.0" encoding="utf-8" ?>
<People>
  <Person Name="Capt. Monterey Jack">
    <ImageFile>Data/MontereyJack.jpg</ImageFile>
    <Notes>The Captain loves his cheese, but hates milk.</Notes>
  </Person>
  <Person Name="Dr. Disco Fortuna">
    <ImageFile>Data/DiscoFortuna.jpg</ImageFile>
    <Notes>He disco dances when he's not selling organic vacuum filters.</Notes>
  </Person>
  <Person Name="Professor Huunkel Froobenhammer">
    <ImageFile>Data/HuunkelFroobenhammer.jpg</ImageFile>
    <Notes>Huunkel designed a better mousetrap, but lost the blueprint.</Notes>
  </Person>
</People>

1 Ответ

2 голосов
/ 14 декабря 2009

Это должно быть изменено на:

<XmlDataProvider x:Key="Announcement" Source="Data/People.xml" XPath="People/Person"/>

Это должно быть изменено на:

<StackPanel Orientation="Horizontal">                
<TextBlock Text="Author: " FontWeight="Bold"/>
<TextBlock Text="{Binding XPath=ImageFile}" >
<TextBlock Text="Title: " FontWeight="Bold"/>
<TextBlock Text="{Binding XPath=Notes}"/>
</StackPanel>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...