Example #1
0
        private void ChangeColorFromColorPicker(Control colorPicker, EventArgs e)
        {
            if (colorPicker is SolidColorPicker)
            {
                SolidColorPicker solidColorPicker = (SolidColorPicker)colorPicker;
                Color            newColor         = solidColorPicker.SelectedColor;
                GeoColor         newGeoColor      = GeoColor2MediaColorConverter.ConvertBack(newColor);

                hatchColorPicker.SyncBaseColor(DrawingColorToMediaColorConverter.ConvertBack(newColor));
                gradientPicker.SyncBaseColor(DrawingColorToMediaColorConverter.ConvertBack(newColor));

                SelectedBrush = new GeoSolidBrush(newGeoColor);
            }
            else if (colorPicker is HatchPicker)
            {
                HatchPicker hatchPicker = (HatchPicker)colorPicker;
                System.Drawing.Drawing2D.HatchStyle drawingHatchStyle = hatchPicker.SelectedHatchStyle;
                GeoHatchStyle geoHatchStyle = GeoHatchStyle2DrawingHatchStyle.ConvertBack(drawingHatchStyle);

                //solidColorPicker.SyncBaseColor(hatchPicker.ForegroundColor);
                gradientPicker.SyncBaseColor(hatchPicker.ForegroundColor);

                SelectedBrush = new GeoHatchBrush(geoHatchStyle, GeoColor2DrawingColorConverter.ConvertBack(hatchPicker.ForegroundColor)
                                                  , GeoColor2DrawingColorConverter.ConvertBack(hatchColorPicker.BackgroundColor));
            }
            else if (colorPicker is TexturePicker)
            {
                PropertyChangedEventArgs args          = (PropertyChangedEventArgs)e;
                TexturePicker            texturePicker = (TexturePicker)colorPicker;
                if (args.PropertyName == "SelectedBrush")
                {
                    ImageBrush mediaBrush = texturePicker.SelectedBrush as ImageBrush;
                    if (mediaBrush != null)
                    {
                        BitmapImage imageSource = (BitmapImage)mediaBrush.ImageSource;
                        if (imageSource != null)
                        {
                            SelectedBrush = new GeoTextureBrush(new GeoImage(imageSource.UriSource.LocalPath));
                        }
                    }
                }
            }
            else if (colorPicker is DrawingLinearGradientBrushPicker)
            {
                DrawingLinearGradientBrushPicker linearPicker = (DrawingLinearGradientBrushPicker)colorPicker;
                LinearGradientBrushEntity        brushEntity  = linearPicker.SelectedBrush;

                solidColorPicker.SyncBaseColor(brushEntity.StartColor);
                hatchColorPicker.SyncBaseColor(brushEntity.StartColor);

                SelectedBrush = new GeoLinearGradientBrush(GeoColor2DrawingColorConverter.ConvertBack(brushEntity.StartColor),
                                                           GeoColor2DrawingColorConverter.ConvertBack(brushEntity.EndColor),
                                                           brushEntity.Angle);
            }
        }
Example #2
0
        private static void SelectedColorChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            if (e.NewValue != null && ((Color)e.NewValue) != Color.FromArgb(0, 1, 1, 1))
            {
                SolidColorPicker colorPicker = (SolidColorPicker)d;

                if (!colorPicker.stopColorChangedEvent)
                {
                    colorPicker.OnSelectedValueChanged();
                    colorPicker.OnSelectionChanged();
                }
            }
        }
        private void btnForeground_Click(object sender, RoutedEventArgs e)
        {
            SolidColorPicker colorPicker = new SolidColorPicker();

            colorPicker.SelectedColor = System.Windows.Media.Color.FromArgb(ForegroundColor.A, ForegroundColor.R, ForegroundColor.G, ForegroundColor.B);
            ColorPickerWindow window = new ColorPickerWindow();

            window.SolidColorPanel.Children.Add(colorPicker);
            if (window.ShowDialog().GetValueOrDefault())
            {
                ForegroundColor = Color.FromArgb(colorPicker.SelectedColor.A, colorPicker.SelectedColor.R, colorPicker.SelectedColor.G, colorPicker.SelectedColor.B);
            }
        }
Example #4
0
        public override void OnApplyTemplate()
        {
            base.OnApplyTemplate();

            solidColorBrushTabItem = GetTemplateChild("SolidColorBrushTabItem") as TabItem;
            hatchBrushTabItem      = GetTemplateChild("HatchBrushTabItem") as TabItem;
            textureTabItem         = GetTemplateChild("TextureTabItem") as TabItem;
            gradientTabItem        = GetTemplateChild("GradientColorBrushTabItem") as TabItem;
            solidColorPicker       = GetTemplateChild("SolidColorPicker") as SolidColorPicker;
            textureColorPicker     = GetTemplateChild("TextureColorPicker") as TexturePicker;
            hatchColorPicker       = GetTemplateChild("HatchColorPicker") as HatchPicker;
            gradientPicker         = GetTemplateChild("GradientPicker") as DrawingLinearGradientBrushPicker;
            pickTextureButton      = GetTemplateChild("PickTextureButton") as Button;
            colorTabControl        = GetTemplateChild("ColorTabControl") as TabControl;
            customColorList        = GetTemplateChild("CustomColorList") as ListBox;
            helpContainer          = GetTemplateChild("HelpContainer") as ContentPresenter;
            addcutomColorButton    = GetTemplateChild("AddCustomColorButton") as Button;

            if (!isTemplateApplied)
            {
                solidColorPicker.IsEnabled   = IsSolidColorBrushTabEnabled;
                textureColorPicker.IsEnabled = IsTextureBrushTabEnabled;
                hatchColorPicker.IsEnabled   = IsHatchBrushTabEnabled;
                gradientPicker.IsEnabled     = IsGradientColorBrushTabEnabled;

                solidColorPicker.SelectionChanged   += new EventHandler(SolidColorPicker_SelectionChanged);
                hatchColorPicker.SelectionChanged   += new EventHandler(HatchColorPicker_SelectionChanged);
                textureColorPicker.PropertyChanged  += new PropertyChangedEventHandler(TextureColorPicker_PropertyChanged);
                gradientPicker.SelectedBrushChanged += new EventHandler(GradientPicker_SelectedBrushChanged);
                pickTextureButton.Click             += new RoutedEventHandler(PickTextureButton_Click);

                solidColorPicker.SelectedItemDoubleClick   += OnSelectedItemDoubleClick;
                hatchColorPicker.SelectedItemDoubleClick   += OnSelectedItemDoubleClick;
                textureColorPicker.SelectedItemDoubleClick += OnSelectedItemDoubleClick;

                solidColorPicker.ColorPanelMouseDoubleClick += new MouseButtonEventHandler(SolidColorPicker_ColorPanelMouseDoubleClick);
                customColorList.SelectionChanged            += new SelectionChangedEventHandler(CustomColorList_SelectionChanged);
                colorTabControl.SelectionChanged            += new SelectionChangedEventHandler(ColorTabControl_SelectionChanged);
                addcutomColorButton.Click += new RoutedEventHandler(AddcutomColorButton_Click);
                helpContainer.Content      = HelpResourceHelper.GetHelpButton("ColorPickerHelp", HelpButtonMode.IconWithLabel);

                defaultColors = CreateDefaultPalette();
                customColorList.ItemsSource = defaultColors;
                isTemplateApplied           = true;

                Loaded -= TabColorPicker_Loaded;
                Loaded += TabColorPicker_Loaded;
            }
        }
Example #5
0
        private static void SelectedCustomColorChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            SolidColorPicker colorPicker = (SolidColorPicker)d;

            colorPicker.SelectedColor = (Color)e.NewValue;
        }