2

我似乎无法更改LongListSelector中的ItemsSource。经过一些研究,LongListSelector似乎忽略了ItemsSource中的任何更改。我正确吗?g 如果是,是否有解决方法?

这就是我想要做的。我可以选择按国家或城市对城市列表进行排序。像这样的东西:

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更改为groupByCountrygroupByCity,具体取决于用户选择。不幸的是,更改ItemsSource没有任何效果。它根本不会更新。只有当应用程序重新启动(存储首选源)时,LongListSelector才会更新。

那么有没有办法强制LongListSelector更新ItemsSource?如果没有,什么是好的解决方法?

4

1 回答 1

0

我在 WP7 中开发,在实际分配之前将 ItemSource 设置为 null,以便 UI 将更新新的 ItemSource。

LongListSelectorA.ItemsSource = null;
Binding b;
b = new Binding("CollectionInViewModel");
LongListSelectorA.SetBinding(LongListSelector.ItemsSourceProperty, b);

试一试,祝你好运。:)

于 2013-08-02T09:50:16.483 回答