ListPicker не отмечает выбранные элементы, когда ItemsSource привязан к данным, полученным из службы.

StackOverflow https://stackoverflow.com/questions/9336464

Вопрос

Я выполнил инструкции на http://mobileworld.appamundi.com/blogs/andywigley/archive/2012/02/02/how-to-databind-selecteditems-of-the-listpicker-and-recurringdayspicker. aspx для привязки SelectedItems в ListPicker с множественным выбором.

Когда я привязываю ItemsSource к ObservableCollection объектов, созданных в ViewModel, ListPicker работает без проблем. Однако, когда я привязываю ItemsSource к ObservableCollection, полученной из службы WCF, возникают проблемы. ListPicker отображает все элементы правильно, их также можно выбрать и отобразить как выбранные на главном экране. Но когда я снова нажимаю на средство выбора, чтобы выбрать его, ListPicker не может «отмечать» выбранные элементы в шаблоне.

Я мог бы переписать список всех элементов, извлеченных из службы, но мне интересно, есть ли изящный способ решения этой проблемы?

Информация о проекте: WP 7.0, службы WCF, EntityFramework, много кофе

Класс сущности:

родовое слово

Служба WCF:

родовое слово

Xaml:

родовое слово

ListPickerExtended.cs

родовое слово

ViewModel

родовое слово
Это было полезно?

Решение

Я только что нашел решение.

Я получал данные из службы каждый раз при загрузке страницы.При возврате из шаблона полного режима в ListPicker главная страница была перезагружена, при этом свойство DishTypesList было сброшено с использованием вновь полученных данных.Хотя ListPicker.SelectedItems все еще был установлен, новый объект не соответствовал объектам в них.

Мне просто нужно было переместить данные загрузки в конструктор модели представления, и ListPicker начал работать правильно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top