private void SetVisualParent(Visual value) { if (this.visualParent != value) { var old = this.visualParent; var oldRoot = this.GetVisualAncestors().OfType <IRenderRoot>().FirstOrDefault(); var newRoot = default(IRenderRoot); if (value != null) { newRoot = value.GetSelfAndVisualAncestors().OfType <IRenderRoot>().FirstOrDefault(); } this.visualParent = value; this.OnVisualParentChanged(old); if (oldRoot != null) { this.NotifyDetachedFromVisualTree(oldRoot); } if (newRoot != null) { this.NotifyAttachedToVisualTree(newRoot); } } }
/// <summary> /// Sets the visual parent of the Visual. /// </summary> /// <param name="value">The visual parent.</param> private void SetVisualParent(Visual value) { if (_visualParent != value) { var old = _visualParent; var oldRoot = this.GetVisualAncestors().OfType <IRenderRoot>().FirstOrDefault(); var newRoot = default(IRenderRoot); if (value != null) { newRoot = value.GetSelfAndVisualAncestors().OfType <IRenderRoot>().FirstOrDefault(); } _visualParent = value; if (oldRoot != null) { NotifyDetachedFromVisualTree(oldRoot); } if (newRoot != null) { NotifyAttachedToVisualTree(newRoot); } RaisePropertyChanged(VisualParentProperty, old, value, BindingPriority.LocalValue); } }
/// <summary> /// Sets the visual parent of the Visual. /// </summary> /// <param name="value">The visual parent.</param> private void SetVisualParent(Visual value) { if (this.visualParent != value) { var old = this.visualParent; var oldRoot = this.GetVisualAncestors().OfType<IRenderRoot>().FirstOrDefault(); var newRoot = default(IRenderRoot); if (value != null) { newRoot = value.GetSelfAndVisualAncestors().OfType<IRenderRoot>().FirstOrDefault(); } this.visualParent = value; if (oldRoot != null) { this.NotifyDetachedFromVisualTree(oldRoot); } if (newRoot != null) { this.NotifyAttachedToVisualTree(newRoot); } } }
/// <summary> /// Sets the visual parent of the Visual. /// </summary> /// <param name="value">The visual parent.</param> private void SetVisualParent(Visual value) { if (_visualParent != value) { var old = _visualParent; var oldRoot = this.GetVisualAncestors().OfType<IRenderRoot>().FirstOrDefault(); var newRoot = default(IRenderRoot); if (value != null) { newRoot = value.GetSelfAndVisualAncestors().OfType<IRenderRoot>().FirstOrDefault(); } _visualParent = value; if (oldRoot != null) { NotifyDetachedFromVisualTree(oldRoot); } if (newRoot != null) { NotifyAttachedToVisualTree(newRoot); } RaisePropertyChanged(VisualParentProperty, old, value, BindingPriority.LocalValue); } }