我遵循了 http://mobileworld.appamundi.com/blogs/andywigley/archive/2012/02/02/how-to-databind-selecteditems-of-the-listpicker-and-recurringdayspicker。 aspx 绑定多选ListPicker中的SelectedItems。

当我将ItemsSource绑定到在ViewModel中创建的对象的ObservableCollection时,ListPicker可以正常工作。但是,当我将ItemsSource绑定到从WCF服务获取的ObservableCollection时,问题开始了。 ListPicker可以正确显示所有项目,也可以选择它们并将其显示为在主屏幕上显示的状态。但是,当我单击选择器再次选择时,ListPicker无法“勾选”模板上的选定项目。

我可以重写从服务中获取的所有元素的列表,但是我想知道是否存在一种解决该问题的灵巧方法?

项目信息:WP 7.0,WCF服务,EntityFramework,大量咖啡

实体类: 通用标签

WCF服务: 通用标签

Xaml: 通用标签

ListPickerExtended.cs 通用标签

ViewModel 通用标签

有帮助吗?

解决方案

我刚刚找到了解决方法。

每次加载页面时,我都从服务中获取数据。从ListPicker中的完全模式模板返回时,已重新加载主页,并使用新获取的数据重置DishTypesList属性。尽管仍然设置了ListPicker.SelectedItems,但是新对象与其中的对象不匹配。

我只需要将数据加载到View Model构造函数中,ListPicker就可以正常工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top