Ejemplo n.º 1
0
        /// <summary>
        /// Initializes the <see cref="Slider"/> type.
        /// </summary>
        static Slider()
        {
            // Dependency property overrides
            ValueProperty.OverrideMetadata(typeof(Slider), new PropertyMetadata <Double>(HandleValueChanged));
            MinimumProperty.OverrideMetadata(typeof(Slider), new PropertyMetadata <Double>(HandleMinimumChanged));
            MaximumProperty.OverrideMetadata(typeof(Slider), new PropertyMetadata <Double>(HandleMaximumChanged));
            SmallChangeProperty.OverrideMetadata(typeof(Slider), new PropertyMetadata <Double>(HandleSmallChangeChanged));
            LargeChangeProperty.OverrideMetadata(typeof(Slider), new PropertyMetadata <Double>(HandleLargeChangeChanged));

            // Commands - decrease
            CommandManager.RegisterClassBindings(typeof(Slider), DecreaseLargeCommand, ExecutedDecreaseLargeCommand,
                                                 new ConditionalGesture(src => (src as Slider)?.Orientation == Orientation.Vertical, new KeyGesture(Key.PageUp, ModifierKeys.None, "PageUp")));
            CommandManager.RegisterClassBindings(typeof(Slider), DecreaseSmallCommand, ExecutedDecreaseSmallCommand,
                                                 new ConditionalGesture(src => (src as Slider)?.Orientation == Orientation.Vertical, new KeyGesture(Key.Up, ModifierKeys.None, "Up")),
                                                 new ConditionalGesture(src => (src as Slider)?.Orientation == Orientation.Vertical, new GamePadGesture(GamePadButton.LeftStickUp, 0, "LeftStickUp")),
                                                 new ConditionalGesture(src => (src as Slider)?.Orientation == Orientation.Horizontal, new KeyGesture(Key.Left, ModifierKeys.None, "Left")),
                                                 new ConditionalGesture(src => (src as Slider)?.Orientation == Orientation.Horizontal, new GamePadGesture(GamePadButton.LeftStickLeft, 0, "LeftStickLeft")));

            // Commands - increase
            CommandManager.RegisterClassBindings(typeof(Slider), IncreaseLargeCommand, ExecutedIncreaseLargeCommand,
                                                 new ConditionalGesture(src => (src as Slider)?.Orientation == Orientation.Vertical, new KeyGesture(Key.PageUp, ModifierKeys.None, "PageDown")));
            CommandManager.RegisterClassBindings(typeof(Slider), IncreaseSmallCommand, ExecutedIncreaseSmallCommand,
                                                 new ConditionalGesture(src => (src as Slider)?.Orientation == Orientation.Vertical, new KeyGesture(Key.Down, ModifierKeys.None, "Down")),
                                                 new ConditionalGesture(src => (src as Slider)?.Orientation == Orientation.Vertical, new GamePadGesture(GamePadButton.LeftStickDown, 0, "LeftStickDown")),
                                                 new ConditionalGesture(src => (src as Slider)?.Orientation == Orientation.Horizontal, new KeyGesture(Key.Right, ModifierKeys.None, "Right")),
                                                 new ConditionalGesture(src => (src as Slider)?.Orientation == Orientation.Horizontal, new GamePadGesture(GamePadButton.LeftStickRight, 0, "LeftStickRight")));

            // Commands - min/max
            CommandManager.RegisterClassBindings(typeof(Slider), MaximizeValueCommand, ExecutedMaximizeValueCommand,
                                                 new KeyGesture(Key.End, ModifierKeys.None, "End"));
            CommandManager.RegisterClassBindings(typeof(Slider), MinimizeValueCommand, ExecutedMinimizeValueCommand,
                                                 new KeyGesture(Key.Home, ModifierKeys.None, "Home"));
        }
 static Rating()
 {
     MinimumProperty.OverrideMetadata(typeof(Rating), new FrameworkPropertyMetadata(0.0, FrameworkPropertyMetadataOptions.AffectsMeasure));
     MaximumProperty.OverrideMetadata(typeof(Rating), new FrameworkPropertyMetadata(5.0, FrameworkPropertyMetadataOptions.AffectsMeasure));
     IsSnapToTickEnabledProperty.OverrideMetadata(typeof(Rating), new FrameworkPropertyMetadata(true));
     SmallChangeProperty.OverrideMetadata(typeof(Rating), new FrameworkPropertyMetadata(1.0));
     DefaultStyleKeyProperty.OverrideMetadata(typeof(Rating), new FrameworkPropertyMetadata(typeof(Rating)));
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Initializes static members of the <see cref="Slider"/> class.
 /// </summary>
 static Slider()
 {
     OrientationProperty.OverrideDefaultValue(typeof(Slider), Orientation.Horizontal);
     Thumb.DragStartedEvent.AddClassHandler <Slider>(x => x.OnThumbDragStarted, RoutingStrategies.Bubble);
     Thumb.DragDeltaEvent.AddClassHandler <Slider>(x => x.OnThumbDragDelta, RoutingStrategies.Bubble);
     Thumb.DragCompletedEvent.AddClassHandler <Slider>(x => x.OnThumbDragCompleted, RoutingStrategies.Bubble);
     SmallChangeProperty.OverrideDefaultValue <Slider>(1);
     LargeChangeProperty.OverrideDefaultValue <Slider>(10);
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Initializes static members of the <see cref="Slider"/> class.
 /// </summary>
 static Slider()
 {
     PseudoClass(OrientationProperty, o => o == Avalonia.Controls.Orientation.Vertical, ":vertical");
     PseudoClass(OrientationProperty, o => o == Avalonia.Controls.Orientation.Horizontal, ":horizontal");
     Thumb.DragStartedEvent.AddClassHandler <Slider>(x => x.OnThumbDragStarted, RoutingStrategies.Bubble);
     Thumb.DragDeltaEvent.AddClassHandler <Slider>(x => x.OnThumbDragDelta, RoutingStrategies.Bubble);
     Thumb.DragCompletedEvent.AddClassHandler <Slider>(x => x.OnThumbDragCompleted, RoutingStrategies.Bubble);
     SmallChangeProperty.OverrideDefaultValue <Slider>(1);
     LargeChangeProperty.OverrideDefaultValue <Slider>(10);
 }
Ejemplo n.º 5
0
        static CircularProgressBar()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(CircularProgressBar), new FrameworkPropertyMetadata(typeof(CircularProgressBar)));

            MinimumProperty.OverrideMetadata(typeof(CircularProgressBar), new FrameworkPropertyMetadata(0D));
            MaximumProperty.OverrideMetadata(typeof(CircularProgressBar), new FrameworkPropertyMetadata(100D));
            SmallChangeProperty.OverrideMetadata(typeof(CircularProgressBar), new FrameworkPropertyMetadata(1D));
            LargeChangeProperty.OverrideMetadata(typeof(CircularProgressBar), new FrameworkPropertyMetadata(10D));
            BorderBrushProperty.OverrideMetadata(typeof(CircularProgressBar), new FrameworkPropertyMetadata(Brushes.LightGray));
            BorderThicknessProperty.OverrideMetadata(typeof(CircularProgressBar), new FrameworkPropertyMetadata(new Thickness(10), OnBorderThicknessChanged));
        }
Ejemplo n.º 6
0
        static NumericUpDown()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(NumericUpDown), new FrameworkPropertyMetadata(typeof(NumericUpDown)));
            MinimumProperty.OverrideMetadata(typeof(NumericUpDown), new FrameworkPropertyMetadata(double.MinValue, null, CoerceMinimum));
            SmallChangeProperty.OverrideMetadata(typeof(NumericUpDown), new FrameworkPropertyMetadata(DefaultInterval, IntervalChanged));
            LargeChangeProperty.OverrideMetadata(typeof(NumericUpDown), new FrameworkPropertyMetadata(100 * DefaultInterval));
            MaximumProperty.OverrideMetadata(typeof(NumericUpDown), new FrameworkPropertyMetadata(double.MaxValue));

            VerticalContentAlignmentProperty.OverrideMetadata(typeof(NumericUpDown), new FrameworkPropertyMetadata(VerticalAlignment.Center));
            HorizontalContentAlignmentProperty.OverrideMetadata(typeof(NumericUpDown), new FrameworkPropertyMetadata(HorizontalAlignment.Right));
        }
        /// <summary>
        /// Initializes the <see cref="NumericUpDown"/> type.
        /// </summary>
        static NumericUpDown()
        {
            EventManager.RegisterClassHandler(typeof(NumericUpDown), Mouse.PreviewMouseWheelEvent, new UpfMouseWheelEventHandler(HandlePreviewMouseWheel));
            EventManager.RegisterClassHandler(typeof(NumericUpDown), Keyboard.PreviewKeyDownEvent, new UpfKeyDownEventHandler(HandlePreviewKeyDown));
            EventManager.RegisterClassHandler(typeof(NumericUpDown), TextEditor.TextEntryValidationEvent, new UpfTextEntryValidationHandler(HandleTextEntryValidation));

            FocusableProperty.OverrideMetadata(typeof(NumericUpDown), new PropertyMetadata <Boolean>(false));
            MinimumProperty.OverrideMetadata(typeof(NumericUpDown), new PropertyMetadata <Double>(0.0));
            MaximumProperty.OverrideMetadata(typeof(NumericUpDown), new PropertyMetadata <Double>(100.0));
            SmallChangeProperty.OverrideMetadata(typeof(NumericUpDown), new PropertyMetadata <Double>(1.0));
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Initializes the <see cref="ScrollBar"/> type.
        /// </summary>
        static ScrollBar()
        {
            // Dependency property overrides
            ValueProperty.OverrideMetadata(typeof(ScrollBar), new PropertyMetadata <Double>(HandleValueChanged));
            MinimumProperty.OverrideMetadata(typeof(ScrollBar), new PropertyMetadata <Double>(HandleMinimumChanged));
            MaximumProperty.OverrideMetadata(typeof(ScrollBar), new PropertyMetadata <Double>(HandleMaximumChanged));
            SmallChangeProperty.OverrideMetadata(typeof(ScrollBar), new PropertyMetadata <Double>(HandleSmallChangeChanged));
            LargeChangeProperty.OverrideMetadata(typeof(ScrollBar), new PropertyMetadata <Double>(HandleLargeChangeChanged));
            FocusableProperty.OverrideMetadata(typeof(ScrollBar), new PropertyMetadata <Boolean>(CommonBoxedValues.Boolean.False));

            // Event handlers
            EventManager.RegisterClassHandler(typeof(ScrollBar), ScrollEvent, new UpfScrollEventHandler(HandleScrollEvent));

            // Commands - vertical scroll
            CommandManager.RegisterClassBindings(typeof(ScrollBar), LineDownCommand, ExecutedScrollCommand, CanExecuteScrollCommand,
                                                 new KeyGesture(Key.Down, ModifierKeys.None, "Down"),
                                                 new GamePadGesture(GamePadButton.LeftStickDown, 0, "LeftStickDown"));
            CommandManager.RegisterClassBindings(typeof(ScrollBar), LineUpCommand, ExecutedScrollCommand, CanExecuteScrollCommand,
                                                 new KeyGesture(Key.Up, ModifierKeys.None, "Up"),
                                                 new GamePadGesture(GamePadButton.LeftStickUp, 0, "LeftStickUp"));
            CommandManager.RegisterClassBindings(typeof(ScrollBar), PageDownCommand, ExecutedScrollCommand, CanExecuteScrollCommand,
                                                 new KeyGesture(Key.PageDown, ModifierKeys.None, "PageDown"));
            CommandManager.RegisterClassBindings(typeof(ScrollBar), PageUpCommand, ExecutedScrollCommand, CanExecuteScrollCommand,
                                                 new KeyGesture(Key.PageUp, ModifierKeys.None, "PageUp"));
            CommandManager.RegisterClassBindings(typeof(ScrollBar), ScrollToBottomCommand, ExecutedScrollCommand, CanExecuteScrollCommand,
                                                 new KeyGesture(Key.End, ModifierKeys.Control, "Ctrl+End"));
            CommandManager.RegisterClassBindings(typeof(ScrollBar), ScrollToTopCommand, ExecutedScrollCommand, CanExecuteScrollCommand,
                                                 new KeyGesture(Key.Home, ModifierKeys.Control, "Ctrl+Home"));

            // Commands - horizontal scroll
            CommandManager.RegisterClassBindings(typeof(ScrollBar), LineRightCommand, ExecutedScrollCommand, CanExecuteScrollCommand,
                                                 new KeyGesture(Key.Right, ModifierKeys.None, "Right"),
                                                 new GamePadGesture(GamePadButton.LeftStickRight, 0, "LeftStickRight"));
            CommandManager.RegisterClassBindings(typeof(ScrollBar), LineLeftCommand, ExecutedScrollCommand, CanExecuteScrollCommand,
                                                 new KeyGesture(Key.Left, ModifierKeys.None, "Left"),
                                                 new GamePadGesture(GamePadButton.LeftStickLeft, 0, "LeftStickLeft"));
            CommandManager.RegisterClassBindings(typeof(ScrollBar), PageRightCommand, ExecutedScrollCommand, CanExecuteScrollCommand,
                                                 null);
            CommandManager.RegisterClassBindings(typeof(ScrollBar), PageLeftCommand, ExecutedScrollCommand, CanExecuteScrollCommand,
                                                 null);
            CommandManager.RegisterClassBindings(typeof(ScrollBar), ScrollToRightEndCommand, ExecutedScrollCommand, CanExecuteScrollCommand,
                                                 new KeyGesture(Key.End, ModifierKeys.None, "End"));
            CommandManager.RegisterClassBindings(typeof(ScrollBar), ScrollToLeftEndCommand, ExecutedScrollCommand, CanExecuteScrollCommand,
                                                 new KeyGesture(Key.Home, ModifierKeys.None, "Home"));

            // Commands - misc
            CommandManager.RegisterClassBindings(typeof(ScrollBar), ScrollHereCommand, ExecutedScrollCommand, CanExecuteScrollCommand,
                                                 null);
        }
Ejemplo n.º 9
0
 static Slider()
 {
     MaximumProperty.OverrideMetadata(typeof(Slider), new PropertyMetadata(100d));
     SmallChangeProperty.OverrideMetadata(typeof(Slider), new PropertyMetadata(1d));
 }
Ejemplo n.º 10
0
 set => SetValue(SmallChangeProperty, value);
Ejemplo n.º 11
0
 static RangeBaseEx()
 {
     SmallChangeProperty.OverrideMetadata(typeof(RangeBaseEx), new FrameworkPropertyMetadata(0.001));
     LargeChangeProperty.OverrideMetadata(typeof(RangeBaseEx), new FrameworkPropertyMetadata(0.1));
 }
Ejemplo n.º 12
0
        static RangeBar()
        {
            DecrementCommand = new RoutedCommand("Decrement", typeof(RangeBar));
            IncrementCommand = new RoutedCommand("Increment", typeof(RangeBar));

            BlockCountProperty = DependencyProperty.Register(
                "BlockCount",
                typeof(int),
                typeof(RangeBar),
                new FrameworkPropertyMetadata(
                    5,
                    FrameworkPropertyMetadataOptions.AffectsRender,
                    null,
                    CoerceBlockCount));

            BlockMarginProperty = DependencyProperty.Register(
                "BlockMargin",
                typeof(double),
                typeof(RangeBar),
                new FrameworkPropertyMetadata(
                    (double)0,
                    FrameworkPropertyMetadataOptions.AffectsRender,
                    null,
                    CoerceBlockMargin));

            BlockBrushProperty = DependencyProperty.Register(
                "BlockBrush",
                typeof(Brush),
                typeof(RangeBar),
                new FrameworkPropertyMetadata(
                    Brushes.Yellow,
                    FrameworkPropertyMetadataOptions.AffectsRender,
                    null,
                    CoerceBlockBrush));

            FocusVisualStyleProperty.OverrideMetadata(
                typeof(RangeBar),
                new FrameworkPropertyMetadata(
                    null,
                    FrameworkPropertyMetadataOptions.None,
                    null,
                    (d, value) => null));

            ClipToBoundsProperty.OverrideMetadata(
                typeof(RangeBar),
                new FrameworkPropertyMetadata(true));

            SnapsToDevicePixelsProperty.OverrideMetadata(
                typeof(RangeBar),
                new FrameworkPropertyMetadata(true));

            IsReadOnlyProperty = DependencyProperty.Register(
                "IsReadOnly",
                typeof(bool),
                typeof(RangeBar),
                new FrameworkPropertyMetadata(false));

            PrecisionProperty = DependencyProperty.Register(
                "Precision",
                typeof(int),
                typeof(RangeBar),
                new FrameworkPropertyMetadata(
                    2,
                    null,
                    (d, baseValue) => ((int)baseValue < 0) ? 0 : (int)baseValue));

            IsSnappingEnabledProperty = DependencyProperty.Register(
                "IsSnappingEnabled",
                typeof(bool),
                typeof(RangeBar),
                new FrameworkPropertyMetadata(
                    false,
                    (d, e) => d.CoerceValue(ValueProperty)));

            SmallChangeProperty.OverrideMetadata(
                typeof(RangeBar),
                new FrameworkPropertyMetadata(0.01));

            ValueProperty.OverrideMetadata(
                typeof(RangeBar),
                new FrameworkPropertyMetadata(
                    0.0,
                    FrameworkPropertyMetadataOptions.AffectsRender,
                    null,
                    CoerceValueProperty));
        }