Как отобразить последний добавленный элемент списка в WPF ListView - PullRequest
6 голосов
/ 12 ноября 2010

Я использую модель представления для привязки к представлению списка.Каждый раз, когда я добавляю элемент во внутреннюю наблюдаемую коллекцию модели представления, я запускаю свойство LastIndex с помощью list.Count-1.Представление списка связано с этим свойством LastIndex ВМ, и представление списка правильно выбирает последний элемент, добавленный в представление.К сожалению, представление не может прокрутить последний добавленный элемент в представление.

Я попытался установить IsSynchronizedWithCurrentItem = "True" в разметке представления списка, но это не помогло.

Это разметка, которую я использую

<ListView ItemsSource="{Binding Path=Status.Messages}" 
         SelectedIndex="{Binding Path=Status.LastIndex, Mode=OneWay}"
         ScrollViewer.HorizontalScrollBarVisibility="Hidden" 
         ScrollViewer.VerticalScrollBarVisibility="Auto"
         HorizontalAlignment="Stretch" 
         Height="60" 
         IsSynchronizedWithCurrentItem="True" >
    <ListView.Resources>
        <Style TargetType="{x:Type GridViewColumnHeader}">
            <Setter Property="Visibility" Value="Collapsed" />
        </Style>
    </ListView.Resources>
    <ListView.View>
        <GridView AllowsColumnReorder="False" >
            <GridViewColumn>
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Path=.}" FontWeight="Thin" />
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
        </GridView>
    </ListView.View>
    <ListView.
</ListView>

Любая помощь вэто будет высоко оценено

1 Ответ

15 голосов
/ 12 ноября 2010

Вам нужно вызвать ScrollIntoView:

list.ScrollIntoView(list.Items[list.Items.Count - 1]);

http://msdn.microsoft.com/en-us/library/system.windows.controls.listbox.scrollintoview.aspx

EDIT:

А вот способ сделать это в XAML:

http://michlg.wordpress.com/2010/01/16/listbox-automatically-scroll-currentitem-into-view/

...