У меня странная проблема с элементом ListPicker
в WP7.
Проблема
Установка ListPicker
SelectedIndex
с помощью Binding
не изменяет элемент по умолчанию, отображаемый после его загрузки.
Пример
В качестве теста я быстро изменил Microsoft SettingsSample
, добавив ListPicker
. Вы можете скачать его по адресу: http://www.mediafire.com/?w0n0ymkh4dwe9b3
Это наш свернутый ListPicker
:
-----------------
| Times New Roman |
-----------------
И это ListPicker
при расширении:
-----------------
| Times New Roman |
| Arial |
| Comic Sans MS |
-----------------
Если мы выберем «Arial», уйдем, а затем вернемся снова, ListPicker
по-прежнему показывает:
-----------------
| Times New Roman |
-----------------
В то время как он должен показывать (потому что настройки сохранены правильно):
-----------------
| Arial |
-----------------
Дальнейшая путаница
В приведенном выше примере, если мы нажимаем на ListPicker
, фактически выбирается «Arial» (потому что текст для ListBoxItem
выделен). По какой-то причине он просто не отображается в качестве значения по умолчанию при загрузке элемента управления.
Если мы забудем о подходе Binding
и вместо этого вручную установим SelectedIndex
в '1' в XAML, то при загрузке элемента управления мы получим ожидаемый результат:
-----------------
| Arial |
-----------------
Идеи
Есть ли способ обновить элемент управления ListPicker
, чтобы он правильно отображал SelectedIndex
при использовании Binding
? Я предполагаю, что упускаю что-то очевидное, но я искал и не смог ничего найти.
Заранее спасибо!