Reputation: 469
I'm trying to fetch Items
from a text file, in JSON format (Data.txt):
[
{
"Name": "Store",
"Items": [
{
"Lev": "1",
"Brand": "Imported"
}
]
}
]
Now all I want is to show all these Items
in a separate listview, with
Name
used a the Heading on top. Please guide me.
Upvotes: 0
Views: 98
Reputation: 146
In ViewModel create Properties:
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)));
}
}
}
and method
void ParseJson(string json)
{
var obj = JsonArray.Parse(json)[0].GetObject();
Name = obj.GetNamedString("Name");
Items = obj.GetNamedArray("Items");
}
In View create ListView:
<ListView ItemsSource="{Binding Items}" Header="{Binding Name}" />
Upvotes: 2