У меня есть элемент управления DataGrid
, который находится в контейнере макета Grid
, и я не могу заставить работать автопрокрутку на самом DataGrid
. Я могу обернуть DataGrid
вокруг ScrollViewer
и таким образом добавить полосу прокрутки, но автоматическая прокрутка не работает.
Итак, прямо сейчас, когда новые записи добавляются в DataGrid
, DataGrid
просто расширяется по вертикали. Я бы хотел, чтобы была включена вертикальная полоса прокрутки, позволяющая прокручивать элементы в DataGrid
, когда добавляется больше элементов, чем может показать исходный вертикальный размер, вместо развертывания всей DataGrid
. Конечно, должен быть простой способ сделать это.
Ладно, с этим разобрался... Оказывается, мне даже не нужно было оборачивать datagrid вокруг ScrollViewer. Все, что мне нужно было сделать, это определить высоту для datagrid (используя атрибут "Height"), и полоса прокрутки datagrid появляется, когда добавляются элементы, превышающие высоту. По-видимому, когда высота не определена, она является динамической и расширяется по вертикали при добавлении новых элементов.
Еще одна вещь, которую следует добавить к этому, заключается в том, что в моей сетке данных у меня были определены детали ряда для каждого ряда, поэтому, когда несколько деталей ряда были развернуты, прокрутка была включена, но поведение полосы прокрутки было немного странным (как будто она не была плавной прокруткой), и для того, чтобы сделать прокрутку плавной, было добавлено следующее свойство сетки данных: ScrollViewer.CanContentScroll="False" (я предполагаю, что элемент управления datagrid является/наследуется от ScrollViewer), после чего прокрутка стала плавной и похожей на нормальное ожидаемое поведение прокрутки.