У меня нет правильного решения для вас, но вы можете сделать следующий хак в загруженном событии:
Dispatcher.BeginInvoke(new Action(delegate {
// here you are pretty shure that all rendering is done
// Put in your code here
}), System.Windows.Threading.DispatcherPriority.ContextIdle, null);
Возможно, он также будет работать с DispatcherPriority.Background, посмотрите его.