使用MVVM Light我有一个列表框数据绑定到几个项目的集合。 其中一项是选定的项目。
使用此代码,它可以正常工作,并且ViewModel结构可以正确更新:
<Name="listBox1"
ItemsSource="{Binding Path=Models}"
SelectedItem="{Binding Path=csProfile.Model, Mode=TwoWay}">
我的问题是,当我进入页面时,如果所选项目不在第一项中,则它不可见,并且用户不知道之前的选择是什么。
如何强制列表框始终显示所选项?
可能通过属性或绑定。
中号
答案 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()似乎是必要的。