У меня есть «массив» текста, который динамически растет, когда данные поступают в приложение, и я хотел бы иметь возможность прокручивать (программно, а не через прямой пользовательский ввод) этот массив по вертикали, а также добавлять к нему. Я попытался поместить данные в DataGrid
, но это не совсем то, что я хочу (если я не сильно изменю DG, которого я надеюсь избежать). Мне не нужно, чтобы содержимое массива было выбрано, просто доступно для просмотра, и я прокручу элемент «текущий» массив в представлении. Какие элементы WPF следует использовать для отображения и динамического роста списка?Как оживить вертикальный прокручиваемый массив динамического текста?
Edit:
Так вот мой текущий 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
перемещается вверх и он не «прокрутки «через« окно просмотра ». Что я здесь делаю неправильно?
сообщение соответствующий код и XAML. Кроме того, вам нужно сделать это в MVVM, используя ItemControl, вместо того, чтобы использовать тип взломанного кода winforms. –
Ну, вот что, я не уверен, что XAML имеет право использовать, чтобы содержать этот список текстовых элементов. Как только я это выясню, анимация, вероятно, будет довольно простой. – Conrad
Удалите «Холст» и используйте «ScrollViewer». И вместо этого измените его смещение. –