Пример #1
0
        private static void UndoCommand_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            // Use simple reverse-or-redo Undo (like Notepad).
            ColorPickerUserControl colorPicker = (ColorPickerUserControl)sender;

            colorPicker.Color = (Color)colorPicker.previousColor;
        }
        //属性变化回调函数负责使Color属性与Red、Green以及Blue属性保持一致。无论何时Red、Green以及Blue属性发生变化,都会相应地调整Color属性,当
        //设置Color属性时,也会更新Red、Green和Blue值
        private static void OnColorChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            ColorPickerUserControl colorPicker = (ColorPickerUserControl)sender;

            Color oldColor = (Color)e.OldValue;
            Color newColor = (Color)e.NewValue;

            colorPicker.Red   = newColor.R;
            colorPicker.Green = newColor.G;
            colorPicker.Blue  = newColor.B;

            colorPicker.previousColor = oldColor;
            colorPicker.OnColorChanged(oldColor, newColor);
        }
Пример #3
0
        private static void OnColorRGBChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            ColorPickerUserControl colorPicker = (ColorPickerUserControl)sender;
            Color color = colorPicker.Color;

            if (e.Property == RedProperty)
            {
                color.R = (byte)e.NewValue;
            }
            else if (e.Property == GreenProperty)
            {
                color.G = (byte)e.NewValue;
            }
            else if (e.Property == BlueProperty)
            {
                color.B = (byte)e.NewValue;
            }

            colorPicker.Color = color;
        }
Пример #4
0
        /*5: создаем функции обратного вызова*/
        private static void OnColorChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            ColorPickerUserControl colorPicker = (ColorPickerUserControl)sender;

            Color oldColor = (Color)e.OldValue;
            Color newColor = (Color)e.NewValue;

            colorPicker.Red   = newColor.R;
            colorPicker.Green = newColor.G;
            colorPicker.Blue  = newColor.B;

            //newColor.A;

            //после изменени¤ св-в Red, Green, Blue из этой ф-ции
            //ф-ци¤ OnColorRGBChanged, вызываема¤ 3 раза,
            //не вызовет ф-цию OnColorChanged на повторное исполнение

            //здесь можно сохран¤ть предыдущее значение св-ва:
            colorPicker.previousColor = oldColor;
            //вызов издател¤ событи¤ (создетс¤ ниже)
            colorPicker.OnColorChanged(oldColor, newColor);
        }
Пример #5
0
        void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target)
        {
            switch (connectionId)
            {
            case 1:
                this.colorPicker = ((CustomControls.ColorPickerUserControl)(target));

            #line 12 "..\..\MyColorPicker.xaml"
                this.colorPicker.ColorChanged += new System.Windows.RoutedPropertyChangedEventHandler <System.Windows.Media.Color>(this.colorPicker_ColorChanged);

            #line default
            #line hidden
                return;

            case 2:

            #line 13 "..\..\MyColorPicker.xaml"
                ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.cmdGet_Click);

            #line default
            #line hidden
                return;

            case 3:

            #line 14 "..\..\MyColorPicker.xaml"
                ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.cmdSet_Click);

            #line default
            #line hidden
                return;

            case 4:
                this.lblColor = ((System.Windows.Controls.TextBlock)(target));
                return;
            }
            this._contentLoaded = true;
        }
 void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) {
     switch (connectionId)
     {
     case 1:
     this.colorPicker = ((CustomControls.ColorPickerUserControl)(target));
     
     #line 12 "..\..\MyColorPicker.xaml"
     this.colorPicker.ColorChanged += new System.Windows.RoutedPropertyChangedEventHandler<System.Windows.Media.Color>(this.colorPicker_ColorChanged);
     
     #line default
     #line hidden
     return;
     case 2:
     
     #line 13 "..\..\MyColorPicker.xaml"
     ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.cmdGet_Click);
     
     #line default
     #line hidden
     return;
     case 3:
     
     #line 14 "..\..\MyColorPicker.xaml"
     ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.cmdSet_Click);
     
     #line default
     #line hidden
     return;
     case 4:
     this.lblColor = ((System.Windows.Controls.TextBlock)(target));
     return;
     }
     this._contentLoaded = true;
 }
Пример #7
0
        private static void UndoCommand_CanExecute(object sender, CanExecuteRoutedEventArgs e)
        {
            ColorPickerUserControl colorPicker = (ColorPickerUserControl)sender;

            e.CanExecute = colorPicker.previousColor.HasValue;
        }