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); if (ColorHelper.CanParseColor(dataString)) { e.Effects = DragDropEffects.Copy; } } e.Handled = true; }
private void PasteCommand_CanExecute(object sender, CanExecuteRoutedEventArgs e) { bool hasText = Clipboard.ContainsText(); if (hasText) { string text = Clipboard.GetText(); bool canParse = ColorHelper.CanParseColor(text); if (canParse) { e.CanExecute = true; e.Handled = true; return; } } e.CanExecute = false; e.Handled = true; }