For completeness, I was able resolve the issue by adding these calls to each UserControl
before capturing a screenshot of them:
scoreGrid.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));
scoreGrid.Arrange(new Rect(0, 0, scoreGrid.ScoreGridInstance.DesiredSize.Width, scoreGrid.ScoreGridInstance.DesiredSize.Height));