Exemplo n.º 1
0
        /// <summary>
        /// Called when mouse moves over right border
        /// </summary>
        /// <param name="source">Event source</param>
        /// <param name="args">The <see cref="System.Windows.Input.MouseEventArgs"/> instance containing the event data</param>
        private void OnRightBorderMouseMove(object source, MouseEventArgs args)
        {
            if ((!RightBorder.IsMouseCaptured) && IsResizing)
            {
                RightBorder.CaptureMouse();
            }

            if (IsResizing)
            {
                double position = args.GetPosition(this).X;

                if (System.Math.Abs(position) < 10)
                {
                    return;
                }

                if (position > 0)
                {
                    Width = position;
                }
                else if ((position < 0) && (ActualWidth > MinWidth))
                {
                    position = (ActualWidth + position < MinWidth) ? MinWidth - ActualWidth : position;
                    Width    = ActualWidth + position;
                }
            }
        }