在listview,gridview中显示动态数据

时间:2010-11-19 08:16:36

标签: c# wpf

我从API中收到dictionary <string, string>

我必须在网格视图中将我的WPF表单上的数据显示为名称和值为两列

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

我在表单上还有两个按钮,用于添加按钮以添加新项目或删除以删除任何项目。当用户单击“确定”时,字典将根据列表视图中的当前名称,值对进行更新。我没有得到如何添加和修改listview中的当前数据或shud我使用任何其他控件。

1 个答案:

答案 0 :(得分:1)

我更喜欢在这里使用ObservableCollection。因此当您insert / update / delete来自集合的任何项目时,UI将自动刷新。

请参阅以下示例:

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

现在当您在CustomPropertyTable中添加任何内容时,ListView会自动更新。

希望这会有所帮助