2009-12-14 4 views
0

Je suis en train de créer une application de message dans WPF, dans le cadre de ceci j'ai une liste qui montre tous les messages actuellement disponibles avec le titre et le nom des auteurs. En tout cas je suis actuellement en développement mais les données que je souhaite montrer n'apparaissent pas mais les titres le font (Auteur: et Titre :). S'il vous plaît soyez conscient que mon fichier XML est un test que je sais fonctionne à partir d'un autre projet que j'ai vu en ligne.Problème avec le fichier de liaison de données WPF au fichier XML

Toute aide serait appréciée merci.

XAML pour le modèle Databinding et 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}"/> 

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

Répondre

2

Cela devrait être changé:

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

Cela devrait être changé à:

<StackPanel Orientation="Horizontal">     
<TextBlock Text="Author: " FontWeight="Bold"/> 
<TextBlock Text="{Binding XPath=ImageFile}" > 
<TextBlock Text="Title: " FontWeight="Bold"/> 
<TextBlock Text="{Binding XPath=Notes}"/> 
</StackPanel>