public static void SafeSetDocument(this DocumentReference reference, FixedDocument doc) { if (reference.CheckAccess()) { reference.SetDocument(doc); } else { reference.Dispatcher.Invoke(new Action(delegate { reference.SetDocument(doc); })); } }