2010-11-19 11 views
0

recives I ein dictionary <string, string> von einer API.Anzeige dynamische Daten in Listenansicht, Grid

Ich habe diese Daten auf meiner WPF Form zeigen, in in der Rasterdarstellung als Name und Wert als zwei Spalten

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

Ich habe auch zwei Tasten auf der Formular-Schaltfläche, um neue Artikel hinzufügen oder löschen zu lösche einen Gegenstand. Wenn der Benutzer auf OK klickt, wird das Wörterbuch entsprechend dem aktuellen Name, Wert-Paar in der Listenansicht aktualisiert. Ich bekomme nicht, wie man die gegenwärtigen Daten in listview hinzufügt und ändert oder shud, das ich irgendein anderes Steuerelement verwende.

Antwort

1

Ich würde es vorziehen ObservableCollection hier verwenden. Wenn Sie also ein Objekt aus der Sammlung insert/update/delete aufrufen, wird die Benutzeroberfläche automatisch aktualisiert.

siehe folgendes Beispiel:

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")); 
    } 
} 

jetzt, wenn Sie etwas in den CustomPropertyTable hinzufügen, wird die ListView automatisch aktualisiert.

hoffe, das hilft

+0

Ich will nicht in Objekt hinzufügen direkt in Raster sein wird und wenn Benutzer klicken Sie darauf speichern können Objekt und API wird den Datenspeicher aktualisieren. – Mohit

+0

Entschuldigung, dass ich das zu spät angenommen habe, da ich im Urlaub war. Eine weitere Sache möchte ich Benutzern erlauben, value-Mitglied aus der Listenansicht zu bearbeiten, jede Hilfe in dieser Angelegenheit wird sehr geschätzt – Mohit

Verwandte Themen