我似乎无法更改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/

10-10 18:53