2009-12-14 5 views
0

Я в процессе создания приложения сообщений в WPF, как часть этого, у меня есть список, который показывает все сообщения, доступные в настоящее время с авторами Title и Name. Во всяком случае, я сейчас занимаюсь разработкой, но данные, которые я хочу показать, не появляются, но названия (Author: and Title :). Помните, что мой XML-файл - это тест, который я знаю, работает из другого проекта, который я видел в Интернете.Проблема с WPF DataBinding для 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> 

ответ

2

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

<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>