WPF ListBox添加新数据时自动滚到最后一行
Xaml 文件代码如下:
<ListBox
x:Name="lstBox"
Height="200"
AlternationCount="100000"
ItemsSource="{Binding Logs}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem}, Path=(ItemsControl.AlternationIndex)}" />
<TextBlock Text="{Binding}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Code:
//每增加一条触发滚动动作
((INotifyCollectionChanged)lstBox.Items).CollectionChanged += (s, e) =>
{
lstBox.SelectedIndex = lstBox.Items.Count - 1;
lstBox.ScrollIntoView(lstBox.SelectedItem);
};

浙公网安备 33010602011771号