我有一个“数组”的文本,随着数据进入应用程序而动态增长,我希望能够垂直滚动(以编程方式,而不是通过直接用户输入)该数组,并添加到它。我试图将数据放入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
向上移动并且它不会“滚动”通过“查看窗口”。我在这里做错了什么?
答案 0 :(得分:0)
使用ItemsControl
:
<ItemsControl ItemsSource="{Binding SomeListOfString}"/>
视图模型:
public class ViewModel
{
public ObservableCollection<string> SomeListOfString {get;set;}
public ViewModel()
{
//... Initialize and populate the Collection.
}
}