Пример #1
0
        protected override void OnVisualBoundsChanged()
        {
            if (RenderTransform.IsNullOrIdentity())
            {
                return;
            }

            InvalidateVisualTransform();
        }
Пример #2
0
        private void OnRenderTransformOriginChanged(DependencyPropertyChangedEventArgs e)
        {
            if (RenderTransform.IsNullOrIdentity())
            {
                return;
            }

            InvalidateVisualTransform();
        }
Пример #3
0
        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));
        }