예제 #1
0
        private void OnMouseLeave(object sender, MouseEventArgs e)
        {
            _currentRoot?.ClearValue(IsTiltingProperty);

            TiltDownStoryboard?.Stop(_target);
            TiltUpStoryboard?.Begin(_target);
        }
예제 #2
0
        private void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            var target = _target;

            if (target is null)
            {
                return;
            }

            if (target.GetValue(IsTiltingProperty) is true)
            {
                return;
            }

            _currentRoot = FindRootVisual(target);
            _currentRoot.SetValue(IsTiltingProperty, true);

            var position = e.GetPosition(_target);

            target.RenderTransformOrigin = new Point(
                1 - position.X / target.ActualWidth,
                1 - position.Y / target.ActualHeight);

            TiltUpStoryboard?.Stop(_target);
            TiltDownStoryboard?.Begin(_target);
        }