2009-10-06 6 views
0

j'ai un gridview à l'intérieur d'une liste image prédéfinie dans la xaml:Ajout de lignes à Gridview sans utiliser DataBind

....

<ListView x:Name="listPriority" IsSynchronizedWithCurrentItem="True" Margin="0,30,0,4" BorderThickness="0,0,0,0"> 
<ListView.View> 
    <GridView> 
     <GridViewColumn x:Name="grvPriorityColumn" Width="140" Header="Priority" /> 
     <GridViewColumn x:Name="grvMessage" Width="250" Header="Message" /> 
    </GridView> 
</ListView.View> 

....

J'ai un tableau contenant des données qui doivent aller dans le "grvPriorityColumn" et "grvMessage". Comment ajouter ces données à la grille sans utiliser la liaison de données?

Répondre

1

Je ne pense pas qu'il y ait un moyen d'affecter directement les valeurs dans les colonnes de GridView, mais vous pouvez utiliser des objets anonymes pour être lié à ces colonnes:

var priorities = new int [] { 3, 4, 5 }; 
var messages = new string [] { "first", "second", "third" }; 
var items = new List<object>(); 

for (int i = 0; i < priorities.Length; i++) { 
    items.Add(new { Priority = priorities[i], Message = messages[i] }); 
} 

listPriority.ItemsSource = items; 

en XAML:

<ListView x:Name="listPriority"> 
<ListView.View> 
     <GridView> 
       <GridViewColumn DisplayMemberBinding="Priority" Header="Priority" /> 
       <GridViewColumn DisplayMemberBinding="Message" Header="Message" /> 
     </GridView> 
</ListView.View> 
</ListView> 
Questions connexes