我正在使用新的 Windows Phone 8LongListSelector
控制,它有其ItemsControl
分配给一个List<Group<object>>
as so:
List<Group<PlacePoint>> searchResults;
async void doSearch()
{
this.searchResults = await SearchHelper.Instance.getSearchResults(txtSearchTerm.Text);
longList.ItemsSource = this.searchResults;
}
不幸的是,我第二次搜索时,重新设置 .ItemsSource 属性没有效果,控件仅显示旧列表。
如何更改绑定?
看来重新分配 longList.ItemsSource 没有任何效果,我不能说这是一个错误还是设计使然。
然而,一个简单的解决方法是使用 ObservableCollection> 来代替,然后使用该集合而不是重新分配 ItemsSource。
示例代码:
ObservableCollection<Group<PlacePoint>> searchResults = new ObservableCollection<Group<PlacePoint>>();
public SearchPage()
{
InitializeComponent();
longList.ItemsSource = this.searchResults;
}
async void doSearch()
{
List<Group<PlacePoint>> tempResults = await SearchHelper.Instance.getSearchResults(txtSearchTerm.Text);
// Clear existing collection and re-add new results
this.searchResults.Clear();
foreach (Group<PlacePoint> grp in tempResults )
{
this.searchResults.Add(grp);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)