public void InvalidateGeometry(InvalidateGeometryReasons reasons) { if (GeometrySource.InvalidateGeometry(reasons)) { InvalidateArrange(); } }
public bool InvalidateGeometry(InvalidateGeometryReasons reasons) { if (_effectInvalidated) { return(false); } _effectInvalidated = true; if (reasons != InvalidateGeometryReasons.ParentInvalidated) { InvalidateParent(Parent); } return(true); }
static DrawingPropertyMetadata() { DrawingPropertyChanged += delegate(object sender, DrawingPropertyChangedEventArgs args) { if ((sender is IShape shape) && args.Metadata.AffectsRender) { InvalidateGeometryReasons reasons = InvalidateGeometryReasons.PropertyChanged; if (args.IsAnimated) { reasons |= InvalidateGeometryReasons.IsAnimated; } shape.InvalidateGeometry(reasons); } }; }
public bool InvalidateGeometry(InvalidateGeometryReasons reasons) { if ((reasons & InvalidateGeometryReasons.TemplateChanged) != 0) { CachedGeometry = null; } if (!_geometryInvalidated) { _geometryInvalidated = true; return(true); } return(false); }