WP7 Listbox - Как убедиться, что выбранный элемент виден через Binding - PullRequest
0 голосов
/ 16 марта 2012

Использование MVVM Light У меня есть список данных, привязанный к коллекции из нескольких предметов.Один из пунктов является выбранным.

С этим кодом он работает отлично, и структуры ViewModel корректно обновляются:

 <Name="listBox1"
 ItemsSource="{Binding Path=Models}"
 SelectedItem="{Binding Path=csProfile.Model, Mode=TwoWay}">

Моя проблема заключается в том, что при входе на страницу, если выбранный элементотсутствует в первых элементах, он не виден, и пользователь не знает, что было предыдущим выбором.

Как я могу заставить Listbox всегда отображать выбранный элемент?

Возможно через свойстваили переплет.

M

Ответы [ 2 ]

0 голосов
/ 16 марта 2012

Я думаю, что вы ищете метод ScrollIntoView.Подобная тема обсуждалась здесь: Автоматическая прокрутка в окне списка Silverlight

Справочник по API здесь: http://msdn.microsoft.com/en-us/library/system.windows.controls.listbox.scrollintoview(VS.95).aspx

Вызов UpdateLayout () перед вызовом ScrollIntoViewвыбранный пункт, кажется, необходим.

0 голосов
/ 16 марта 2012

Нет свойства, с которым вы можете связать, чтобы установить то, что видно. Вместо этого вызовите ScrollToVerticalOffset() в ScrollViewer внутри ListBox.

...