如何动画垂直滚动动态文本数组



我有一个文本的"数组",随着数据进入应用程序而动态增长,我希望能够垂直滚动(以编程方式,而不是通过直接用户输入)该数组,以及添加到它。我试图把数据放入DataGrid,但这并不是我真正想要的(除非我大量修改DG,我希望避免)。我不需要数组内容是可选择的,只是可查看的,我将滚动"当前"数组项进入视图。我应该使用哪些WPF元素来显示和动态增长列表?

编辑:
下面是我当前的XAML代码片段:

<Canvas Grid.Column="1" Background="#FFF8D2D2" ClipToBounds="True">
        <ItemsControl Canvas.Top="20" Canvas.Left="20" Name="PipeQueueIC" Height="45" Width="272" BorderThickness="1" BorderBrush="#FF149060" />
</Canvas>
下面是我的代码:
DoubleAnimation scrollQueue = new DoubleAnimation();
scrollQueue.By = -16;
scrollQueue.Duration = TimeSpan.FromSeconds(0.5);
PipeQueueIC.BeginAnimation(Canvas.TopProperty, scrollQueue);

然而,整个ItemsControl向上移动,它不会"滚动"通过"查看窗口"。我哪里做错了?

使用ItemsControl:

<ItemsControl ItemsSource="{Binding SomeListOfString}"/>

ViewModel:

public class ViewModel
{
    public ObservableCollection<string> SomeListOfString {get;set;}
    public ViewModel()
    {
        //... Initialize and populate the Collection.
    }
}

最新更新