WP7列表框 - 如何通过绑定显示所选项目

时间:2012-03-15 21:46:55

标签: windows-phone-7 data-binding listbox mvvm-light

使用MVVM Light我有一个列表框数据绑定到几个项目的集合。 其中一项是选定的项目。

使用此代码,它可以正常工作,并且ViewModel结构可以正确更新:

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

我的问题是,当我进入页面时,如果所选项目不在第一项中,则它不可见,并且用户不知道之前的选择是什么。

如何强制列表框始终显示所选项?

可能通过属性或绑定。

中号

2 个答案:

答案 0 :(得分:0)

您无法绑定任何属性来设置可见内容。而是在ListBox内的ScrollViewer上调用ScrollToVerticalOffset()

答案 1 :(得分:0)

我认为您正在寻找ScrollIntoView方法。这里讨论了一个类似的主题: Automatic Scrolling in a Silverlight List Box

API参考位于:http://msdn.microsoft.com/en-us/library/system.windows.controls.listbox.scrollintoview(VS.95).aspx

在调用所选项目上的ScrollIntoView之前调用UpdateLayout()似乎是必要的。