private void InvalidateAdorners(SceneElement element) { AnnotationAdornerSet createAdornerSet = this.GetOrCreateAdornerSet(element); if (createAdornerSet == null) { return; } createAdornerSet.InvalidateStructure(); Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background, (Delegate)(() => element.ViewModel.DefaultView.AdornerLayer.Update2D())); }
private AnnotationAdornerSet GetOrCreateAdornerSet(SceneElement owner) { if (!owner.IsAttached) { return((AnnotationAdornerSet)null); } AnnotationAdornerSet annotationAdornerSet = Enumerable.SingleOrDefault <AnnotationAdornerSet>(Enumerable.OfType <AnnotationAdornerSet>((IEnumerable)this.AdornerLayer.Get2DAdornerSets(owner))); if (annotationAdornerSet == null) { annotationAdornerSet = new AnnotationAdornerSet(this.ToolContext, owner); this.AdornerLayer.Add((IAdornerSet)annotationAdornerSet); } return(annotationAdornerSet); }