コード例 #1
0
        static void OnSelectedPaletteColorChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e)
        {
            ColorPropertyEditor editor = obj as ColorPropertyEditor;

            if (editor != null)
            {
                if (editor.SelectedPaletteColor == null || editor.Color == editor.SelectedPaletteColor.Color)
                {
                    // Color already matches; must auto-set to ensure our value becomes the palette color object
                    editor.AutoSetValue();
                }
                else
                {
                    // Since the color needs to change, let it auto-set the value
                    editor.Color = editor.SelectedPaletteColor.Color;
                }
            }
        }
コード例 #2
0
        static void OnColorChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e)
        {
            ColorPropertyEditor editor = obj as ColorPropertyEditor;

            if (editor != null)
            {
                editor.Brush = new SolidColorBrush(editor.Color);
                editor.AutoSetValue();

                if (!editor.autoSettingColor)
                {
                    editor.autoSettingComponents = true;
                    editor.R                     = editor.Color.R;
                    editor.G                     = editor.Color.G;
                    editor.B                     = editor.Color.B;
                    editor.A                     = editor.Color.A;
                    editor.GrayScale             = (byte)(((int)editor.R + editor.G + editor.B) / 3);
                    editor.autoSettingComponents = false;
                }
            }
        }