我似乎无法更改 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 ?如果没有,那么什么是一个好的解决方法?
答案 0 :(得分:0)
我在WP7中开发,我在实际分配之前将ItemSource设置为null,以便UI将为新的ItemSource更新。
LongListSelectorA.ItemsSource = null;
Binding b;
b = new Binding("CollectionInViewModel");
LongListSelectorA.SetBinding(LongListSelector.ItemsSourceProperty, b);
试一试,祝你好运。 :)