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