Silverlight MVVM Listbox绑定

时间:2011-05-02 18:10:41

标签: data-binding silverlight-4.0

我有一个列表框,我绑定到一个可观察的集合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>

谢谢,

朗达

1 个答案:

答案 0 :(得分:0)

在ListBox中尝试ScrollIntoView方法。 http://msdn.microsoft.com/en-us/library/system.windows.controls.listbox.scrollintoview(v=VS.95).aspx

将对象设置为绑定到列表框的itemsource中的第一个对象。