我有一个列表框,我绑定到一个可观察的集合ItemsSource =“{Binding SearchItems}”的搜索结果很好。但是,这是我的问题。
1)用户输入搜索词 2)用户向下滚动搜索结果列表以说明middel或列表的底部。 3)用户然后输入新的搜索词而不滚动回列表的顶部 4)当新搜索结果加载时,滚动控件停留在结果列表框的中间。
我无法弄清楚如何在每次新搜索时将滚动条重置回顶部。我没有写原始代码,所以我很难搞清楚要找什么。任何人有任何建议或在哪里看?
<localControls:AlternatingRowListBox ItemsSource="{Binding SearchItems}"
Name="ListBoxSearchResults"
BorderThickness="0"
ItemContainerStyle="{StaticResource FoodSearchResultItemContainerStyle}"
AlternatingItemContainerStyle="{StaticResource FoodSearchResultAlternatingItemContainerStyle}"
HorizontalContentAlignment="Stretch"
ScrollViewer.VerticalScrollBarVisibility="Auto"
Margin="20,20,10,0"
Grid.Row="0"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
KeyUp="ListBoxSearchResults_KeyUp">
<ListBox.ItemTemplate>
<DataTemplate>
<ContentControl HorizontalAlignment="Stretch"
VerticalAlignment="Center"
HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch"
Content="{Binding Converter={StaticResource TemplateSelector}}" />
</DataTemplate>
</ListBox.ItemTemplate>
</localControls:AlternatingRowListBox>
谢谢,
朗达
答案 0 :(得分:0)
在ListBox中尝试ScrollIntoView方法。 http://msdn.microsoft.com/en-us/library/system.windows.controls.listbox.scrollintoview(v=VS.95).aspx
将对象设置为绑定到列表框的itemsource中的第一个对象。