protected override void OnDrop(DragEventArgs e) { base.OnDrop(e); if (e.Data.GetDataPresent(DataFormats.StringFormat)) { string dataString = (string) e.Data.GetData(DataFormats.StringFormat); BrushConverter converter = new BrushConverter(); if (converter.IsValid(dataString)) { Brush newFill = (Brush) converter.ConvertFromString(dataString); circleUI.Fill = newFill; if (e.KeyStates.HasFlag(DragDropKeyStates.ControlKey)) { e.Effects = DragDropEffects.Copy; } else { e.Effects = DragDropEffects.Move; } } } e.Handled = true; }
public static Brush ConvertBrush(System.Drawing.Color color) { var b = new BrushConverter(); if (b.IsValid(color.Name)) { return b.ConvertFromString(color.Name) as SolidColorBrush; } return b.ConvertFromString("Black") as SolidColorBrush; }
private void ellipse_DragOver(object sender, DragEventArgs e) { e.Effects = DragDropEffects.None; // If the DataObject contains string data, extract it. if (e.Data.GetDataPresent(DataFormats.StringFormat)) { string dataString = (string)e.Data.GetData(DataFormats.StringFormat); // If the string can be converted into a Brush, allow copying. BrushConverter converter = new BrushConverter(); if (converter.IsValid(dataString)) { e.Effects = DragDropEffects.Copy | DragDropEffects.Move; } } }
private void ellipse_DragEnter(object sender, DragEventArgs e) { Ellipse ellipse = sender as Ellipse; if (ellipse != null) { // Save the current Fill brush so that you can revert back to this value in DragLeave. _previousFill = ellipse.Fill; // If the DataObject contains string data, extract it. if (e.Data.GetDataPresent(DataFormats.StringFormat)) { string dataString = (string)e.Data.GetData(DataFormats.StringFormat); // If the string can be converted into a Brush, convert it. BrushConverter converter = new BrushConverter(); if (converter.IsValid(dataString)) { Brush newFill = (Brush)converter.ConvertFromString(dataString); ellipse.Fill = newFill; } } } }
protected override void OnDragOver(DragEventArgs e) { base.OnDragOver(e); e.Effects = DragDropEffects.None; if (e.Data.GetDataPresent(DataFormats.StringFormat)) { string dataString = (string) e.Data.GetData(DataFormats.StringFormat); BrushConverter converter = new BrushConverter(); if (converter.IsValid(dataString)) { if (e.KeyStates.HasFlag(DragDropKeyStates.ControlKey)) { e.Effects = DragDropEffects.Copy; } else { e.Effects = DragDropEffects.Move; } } } e.Handled = true; }
protected override void OnDragEnter(DragEventArgs e) { base.OnDragEnter(e); _previousFill = circleUI.Fill; if (e.Data.GetDataPresent(DataFormats.StringFormat)) { string dataString = (string) e.Data.GetData(DataFormats.StringFormat); BrushConverter converter = new BrushConverter(); if (converter.IsValid(dataString)) { Brush newFill = (Brush) converter.ConvertFromString(dataString); circleUI.Fill = newFill; } } }
private void ellipse_Drop(object sender, DragEventArgs e) { Ellipse ellipse = sender as Ellipse; if (ellipse != null) { // If the DataObject contains string data, extract it. if (e.Data.GetDataPresent(DataFormats.StringFormat)) { string dataString = (string)e.Data.GetData(DataFormats.StringFormat); // If the string can be converted into a Brush, // convert it and apply it to the ellipse. BrushConverter converter = new BrushConverter(); if (converter.IsValid(dataString)) { Brush newFill = (Brush)converter.ConvertFromString(dataString); ellipse.Fill = newFill; } } } }