Example #1
0
        /// <summary>
        /// Handles the wall changed business.
        /// </summary>
        /// <param name="d"></param>
        /// <param name="e"></param>
        private static void OnWallChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            WallControl view = d as WallControl;

            if (view == null)
            {
                return;
            }
            view.Rejigger();
        }
Example #2
0
        /// <summary>
        /// Handles the <see cref="E:MinScaleChanged" /> event.
        /// </summary>
        /// <param name="d">The d.</param>
        /// <param name="e">The <see cref="DependencyPropertyChangedEventArgs" /> instance containing the event data.</param>
        private static void OnMinScaleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            WallControl view = d as WallControl;

            if (view == null)
            {
                return;
            }
            view.Scale     = Math.Max(view.Scale, (double)e.NewValue);
            view.Increment = (view.MaxScale - view.MinScale) / 20.0d;
        }
Example #3
0
        /// <summary>
        /// Called when [scale coerce].
        /// </summary>
        /// <param name="d">The d.</param>
        /// <param name="basevalue">The basevalue.</param>
        /// <returns>System.Object.</returns>
        private static object OnScaleCoerce(DependencyObject d, object basevalue)
        {
            WallControl view  = d as WallControl;
            double      value = basevalue as double? ?? double.NaN;

            if (view == null || double.IsNaN(value))
            {
                return(basevalue);
            }
            if (value < view.MinScale)
            {
                return(view.MinScale);
            }
            if (value > view.MaxScale)
            {
                return(view.MaxScale);
            }
            return(value);
        }