Привязка списка Silverlight MVVM - PullRequest
0 голосов
/ 02 мая 2011

У меня есть список, который я связываю с видимой коллекцией ItemsSource = "{Binding SearchItems} результатов поиска, которая прекрасно работает. Однако, вот моя проблема.

1) Пользователь вводит поисковый запрос 2) Пользователь прокручивает вниз список результатов поиска, чтобы сказать средний или нижнюю часть списка. 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>

Спасибо

1010 * Рхонда *

1 Ответ

0 голосов
/ 02 мая 2011

Попробуйте метод ScrollIntoView в ListBox.http://msdn.microsoft.com/en-us/library/system.windows.controls.listbox.scrollintoview(v=VS.95).aspx.

Установить объект на первый объект в источнике элементов, связанный со списком.

...