2010-10-12 4 views
0

J'ai donc le xaml suivant La vue de la liste parente est liée à la collection par programmation Toutes les liaisons fonctionnent très bien, sauf que la grille de données ne se charge pas. Y at-il une étape supplémentaire que je dois prendre ou dois-je simplement tricher et lier sur le fond.Liaison enfant de données à la fonction de liste des parents

<ListView.ItemTemplate> 
      <DataTemplate> 
       <Border BorderBrush="DarkSlateGray" BorderThickness="2"> 
        <StackPanel Orientation="Vertical"> 
         <DockPanel> 
          <Label TextBlock.FontWeight="ExtraBold" FontSize="14" DockPanel.Dock="Left">Message</Label> 
          <Label Content="{Binding FriendlyMessageText}"></Label> 
         </DockPanel> 
         <DockPanel> 
          <Label TextBlock.FontWeight="ExtraBold" FontSize="14" DockPanel.Dock="Left">Status</Label> 
          <Label Content="{Binding Status }"></Label> 

         </DockPanel> 

         <DataGrid Height="80" ItemsSource="{Binding AssocatedMessages }"> 
          <DataGrid.Columns> 
           <DataGridTextColumn Header="Text" Width="*" Binding="{Binding Path=FriendlyMessageText}" > 

           </DataGridTextColumn> 
           <DataGridTextColumn Header="Status Code" Binding="{Binding Path=StatusCode}" /> 
           <DataGridTextColumn Header="Entity ID" Binding="{Binding EntityID}" /> 
           <DataGridTextColumn Header="Category Code" Binding="{Binding CategoryCode }" /> 
          </DataGrid.Columns> 

         </DataGrid> 



        </StackPanel> 
       </Border> 
      </DataTemplate> 
     </ListView.ItemTemplate> 

Répondre

0

Je n'a pas défini le contexte de données sur le contrôle des parents quand je mets la ItemSource de la liste des parents.

1

Sans avoir une connaissance complète de votre code, c'est une sorte de photo dans le noir. Lorsque vous définissez le ItemsSource pour le DataGrid à AssocatedMessages (il est probablement mal orthographié), vous définissez le DataContext pour tous les enfants à la collection AssocatedMessages. Par conséquent, si vous liez à FriendlyMessageText dans une colonne DG (en supposant qu'il s'agisse d'une propriété de la source de données ListView, car vous liez celle d'une étiquette en dehors de la DG), le moteur de liaison ne pourra pas trouve cette propriété.

Pour vérifier si cela se produit, essayez de déboguer les liaisons comme expliqué dans this post.

J'espère que cela aide.

Merci, Damian

+0

Il a été mal orthographié dans l'objet que je n'ai pas remarqué jusqu'à ce que vous l'ayez signalé :). Bon blog post btw +1 – rerun

+0

tous si AssociatedMessages est une propriété qui retourne une collection – rerun