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

时间:2013-06-17 16:25:28

标签: wpf animation dynamic-data vertical-scrolling

我有一个“数组”的文本,随着数据进入应用程序而动态增长,我希望能够垂直滚动(以编程方式,而不是通过直接用户输入)该数组,并添加到它。我试图将数据放入DataGrid,但这不是我想要的(除非我大量修改我希望避免的D​​G)。我不需要数组内容可选,只需要查看,我会将“当前”数组项滚动到视图中。我应该使用什么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向上移动并且它不会“滚动”通过“查看窗口”。我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

使用ItemsControl

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

视图模型:

public class ViewModel
{
    public ObservableCollection<string> SomeListOfString {get;set;}

    public ViewModel()
    {
        //... Initialize and populate the Collection.
    }
}