LongListSelector无法更改ItemsSource

时间:2013-03-25 06:47:38

标签: c# windows-phone-7 itemssource longlistselector

我似乎无法更改 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 ?如果没有,那么什么是一个好的解决方法?

1 个答案:

答案 0 :(得分:0)

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

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

试一试,祝你好运。 :)