protected override void OnVisualBoundsChanged() { if (RenderTransform.IsNullOrIdentity()) { return; } InvalidateVisualTransform(); }
private void OnRenderTransformOriginChanged(DependencyPropertyChangedEventArgs e) { if (RenderTransform.IsNullOrIdentity()) { return; } InvalidateVisualTransform(); }
protected override Matrix GetVisualTransformOverride() { if (RenderTransform.IsNullOrIdentity()) { return(Matrix.Identity); } double offsetX = RenderTransformOrigin.X * RenderSize.Width; double offsetY = RenderTransformOrigin.Y * RenderSize.Height; return(Matrix.TranslationMatrix(-offsetX, -offsetY) * RenderTransform.Value * Matrix.TranslationMatrix(offsetX, offsetY)); }