我有一个IEnumerable,它在pagebehind中承载来自JSON的值:
IEnumerable jsonData = default(IEnumerable);
jsonData = GetJsonValues(URL);
现在我有一个包含以下内容的集合:
标题=“某些标题”和
Thumbnail =“URI as String”
现在我的XAML包含ListBox:
<ListBox Width="480" Height="280" x:Name="listBoxJsonData" />
如何将jsonData与listBoxJsonData绑定。
我不想使用listBoxJsonData.ItemsSource = jsonData;
答案 0 :(得分:0)
创建它的属性并使用MVVM模式使用DataContext进行绑定。
新课程中的这种方式(未经测试)说ViewModel.cs
private IEnumerable jsonData;
public IEnumerable GetJSonData
{
get
{
if (jsonData == null)
{
jsonData = GetJsonValues("http://www.viki.com/api/v2/channels.json");
}
return jsonData;
}
}
和XAML
<ListBox Width="480" Height="280" x:Name="listBoxJsonData"
ItemSource="{Binding
ElementName=Name_of_Window_where_this_listbox_is,
Path=GetJSonData}" />
并在窗口构造函数中
this.DataContext = new ViewModel();