我有一个列表框,其中添加了各种项目。当一个新项目添加到列表框时,我需要将该项目滚动到视图中(基本上滚动到底部)。
我已经尝试了添加新项目时如何让 ListBox 自动滚动的解决方案?也来自这篇博文
但是,这两种解决方案都不起作用,因为我的列表框包含可变高度项。如果我修改我的列表框项目模板以使其具有固定高度,那么它似乎可以工作。这是我的一个项目模板的示例:
<DataTemplate x:Key="StatusMessageTemplate">
<Grid Grid.Column="1" VerticalAlignment="top" Margin="0,5,10,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="20"></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Text="{Binding Path=MessageText}" HorizontalAlignment="Left" Grid.Row="0" Grid.Column="0" FontWeight="Bold" Foreground="{DynamicResource LightTextColorBrush}"/>
<TextBlock Text="{Binding Path=created_at, StringFormat=t}" Style="{StaticResource Timestamp}" TextWrapping="Wrap" HorizontalAlignment="Right" Grid.Row="0" Grid.Column="1"/>
</Grid>
</DataTemplate>
无论它们的高度如何,如何使新项目滚动到视图中?