my solution to this question:
make sure your DataGrid has CanUserAddRows enabled so the ScrollBar is visible and create a converter for DataGrid.RowHeight. Create a binding in RowHeight and set height to 0 if Items.Count in your DataGrid collection is 0.
Another solution is to switch between two DataGrids and show a different Grid when Items.Count is 0.