我似乎无法更改LongListSelector中的ItemsSource。经过研究后,LongListSelector似乎忽略了ItemsSource中的任何更改。我正确吗?
如果是,是否有解决方法?
这就是我想做的。我可以选择按国家或城市对城市列表进行排序。像这样:
var groupByCountry = from City in App.ViewModelCity.Items
group city by city.GroupByCountry into c
orderby c.Key
select new Group<Currency>(c.Key, c);
var groupByCity = from City in App.ViewModelCity.Items
group city by city.GroupByCity into c
orderby c.Key
select new Group<City>(c.Key, c);
所以基本上两者都是一样的,只是分组是不同的。我的想法是根据用户选择,将ItemsSource更改为groupByCountry或groupByCity。不幸的是,更改ItemsSource无效。它根本不会更新。仅在重新启动应用程序(存储了首选源)时,LongListSelector才会更新。
那么有没有办法强迫LongListSelector更新ItemsSource?如果没有,什么是一个好的解决方法?
最佳答案
我在WP7中进行开发,在实际分配之前将ItemSource设置为null,以便UI将为新的ItemSource更新。
LongListSelectorA.ItemsSource = null;
Binding b;
b = new Binding("CollectionInViewModel");
LongListSelectorA.SetBinding(LongListSelector.ItemsSourceProperty, b);
试一试,祝你好运。 :)
关于c# - LongListSelector无法更改ItemsSource,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15609179/