使用C#的JSON数据绑定窗口存储应用程序

时间:2016-04-19 19:40:13

标签: c# json binding windows-store-apps

我试图以JSON格式(Data.txt)从文本文件中获取Items

[
  {
    "Name": "Store",
    "Items": [
      {
        "Lev": "1",
        "Brand": "Imported"
      }
    ]
  }
]

现在我想要的是在单独的列表视图中显示所有这些Items Name在顶部使用了标题。请指导我。

1 个答案:

答案 0 :(得分:2)

在ViewModel中创建属性:

private string _name;
public string Name
{
    get { return _name; }
    set
    {
        if (_name != value)
        {
            _name = value;
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Name)));
        }
    }
}

private IEnumerable<JsonObject> _items;
public IEnumerable<JsonObject> Items
{
    get { return _items; }
    set
    {
        if (_items != value)
        {
            _items = value;
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Items)));
        }
    }
}

和方法

void ParseJson(string json)
{
    var obj = JsonArray.Parse(json)[0].GetObject();
    Name = obj.GetNamedString("Name");
    Items = obj.GetNamedArray("Items");
}

在视图中创建ListView:

<ListView ItemsSource="{Binding Items}" Header="{Binding Name}" />