2010-11-19 7 views
0

Je récite un dictionary <string, string> à partir d'une API.Afficher les données dynamiques dans listview, gridview

je dois montrer ces données sur mon formulaire de WPF en vue en grille comme nom et la valeur en deux colonnes

<ListView Name="LstCustomProperties" ItemsSource="{Binding CustomPropertyTable}"> 
    <ListView.View> 
    <GridView> 
     <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Key}" /> 
     <GridViewColumn Header="Value" DisplayMemberBinding="{Binding Value}" /> 
    </GridView> 
    </ListView.View> 
</ListView> 

J'ai aussi deux boutons sur le formulaire pour ajouter le bouton pour ajouter un nouvel élément ou supprimer à supprimer un élément. Lorsque l'utilisateur clique sur OK, le dictionnaire sera mis à jour en fonction du nom actuel, paire de valeurs dans la liste. Je ne comprends pas comment ajouter et modifier les données actuelles dans listview ou shud J'utilise tout autre contrôle.

Répondre

1

Je préférerais utiliser ObservableCollection ici. donc quand vous insert/update/delete un élément de la collection, l'interface utilisateur sera automatiquement actualisé.

voir l'exemple suivant:

public class CustomDictionary 
{ 
    public string Key { get; set; } 
    public string Value { get; set; } 

    public CustomDictionary(string key, string value) 
    { 
     this.Key = key; 
     this.Value = value; 
    } 
} 

public class CustomDictionaryCollection : ObservableCollection<CustomDictionary> 
{ 

} 


public class MyData 
{ 
    public CustomDictionaryCollection CustomPropertyTable { get; set; } 

    public MyData() 
    { 
     this.CustomPropertyTable.Add(new CustomDictionary("myKey", "myValue")); 
    } 
} 

maintenant lorsque vous ajoutez quoi que ce soit dans le CustomPropertyTable, le ListView seront mis à jour automatiquement.

Hope this helps

+0

Je ne veux pas ajouter dans l'objet directement, il sera dans la grille et lorsque l'utilisateur cliquez dessus sera sauvegarder pour objet et API mettra à jour le datastore. – Mohit

+0

désolé d'accepter cela trop tard comme j'étais en vacances. Encore une chose que je veux permettre aux utilisateurs d'éditer un membre de valeur de la vue de liste, n'importe quelle aide dans ce domaine sera fortement appréciée – Mohit

Questions connexes