2010-11-19 14 views
0

私はAPIからdictionary <string, string>を受け取ります。リストビュー、グリッドビューで動的データを表示

私は2つの列

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

として名前と値としてグリッドビューでの私のWPFフォームにこのデータを表示するために持っている私はまた、新しい項目を追加したりする、削除するためのボタンを追加するには、フォーム上に2つのボタンがありますアイテムを削除してください。ユーザーが[OK]をクリックすると、リストビューの現在の名前、値のペアに従って辞書が更新されます。リストビューやshudで現在のデータを追加したり変更したりする方法が得られていません。他のコントロールを使用しています。

答えて

1

ここでObservableCollectionを使用することをお勧めします。コレクションのアイテムがinsert/update/deleteの場合、UIは自動的にリフレッシュされます。あなたはCustomPropertyTableに何かを追加するとき

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

は今、ListViewが自動的に更新されます:

は、次の例を参照してください。

ホープこれは私がオブジェクトに追加したくない

+0

は直接それがグリッドとするとき、その上にユーザーがクリックオブジェクトに保存され、APIは、データストアを更新するになります役立ちます。 – Mohit

+0

私は休暇中だったので、これを受け入れることを申し訳なく思っています。 リストビューから価値のあるメンバーを編集できるようにしたいと思うもう1つのことは、 – Mohit

関連する問題