private void TbvCommandSource_DragRecordOver(object sender, DragRecordOverEventArgs e) { if (e.IsFromOutside == false) { e.Effects = DragDropEffects.None; } e.Handled = true; }
void OnDragRecordOver(object sender, DragRecordOverEventArgs e) { if (e.IsFromOutside && typeof(Employee).IsAssignableFrom(e.GetRecordType())) { e.Effects = DragDropEffects.Move; e.Handled = true; } }
void OnDragRecordOver(object sender, DragRecordOverEventArgs e) { if (e.IsFromOutside && e.Data.GetDataPresent(typeof(Employee))) { e.Effects = DragDropEffects.Move; e.Handled = true; } }
private void OnDragRecordOver(object sender, DragRecordOverEventArgs e) { if (e.IsFromOutside && typeof(IUserScript).IsAssignableFrom(e.GetRecordType())) { e.Effects = DragDropEffects.Move; } e.Handled = true; }
void AssociatedObject_DragRecordOver(object sender, DragRecordOverEventArgs e) { e.Handled = true; e.Effects = DragDropEffects.None; if (e.IsFromOutside) { e.Effects = DragDropEffects.Move; } }
/// <summary> /// Allow file drop feature /// </summary> /// <param name="sender"></param> /// <param name="args"></param> /// <returns></returns> public object Convert(object sender, object args) { DragRecordOverEventArgs e = (DragRecordOverEventArgs)args; if (e.Data.GetDataPresent(DataFormats.FileDrop)) { e.Effects = DragDropEffects.Copy; e.Handled = true; } return(e.Handled); }
void OnDragRecordOver(object sender, DragRecordOverEventArgs e) { object data = e.Data.GetData(typeof(RecordDragDropData)); var source = ((RecordDragDropData)data).Records[0] as MenuStructureProxy; var target = e.TargetRecord as MenuStructureProxy; if ((target.IsRoot && (source == null || source.IsMenu)) || (target.IsMenu && (source == null || source.IsMenu))) { e.Effects = System.Windows.DragDropEffects.None; e.Handled = true; } }
private void AssociatedObject_DragRecordOver(object sender, DragRecordOverEventArgs e) { try { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { FileModel target = e.TargetRecord as FileModel; string targetPath = target?.IsDirectory == true ? target.FullPath : CurrentFolderPath; if (targetPath == null) { return; } IEnumerable <String> filePaths = e.Data.GetData(DataFormats.FileDrop) as IEnumerable <String>; if (filePaths == null || filePaths.Count() == 0) { return; } bool isTargetRoot = target?.IsRoot == true; bool isTargetSubFolder = filePaths.Any(x => targetPath?.OrdinalStartsWith(x + FileSystemHelper.Separator) == true); bool isTargetSameParent = filePaths.Any(x => targetPath?.OrdinalEquals(x) == true || targetPath?.OrdinalEquals(FileSystemHelper.GetParentFolderPath(x)) == true); bool notExists = filePaths.Any(x => !File.Exists(x)); bool sameDrive = Path.GetPathRoot(targetPath) == Path.GetPathRoot(filePaths.First()); bool copy = e.KeyStates.HasFlag(DragDropKeyStates.ControlKey) || notExists || (sameDrive && Settings.Default.DragDropSameDrive == 1) || (!sameDrive && Settings.Default.DragDropDifferentDrive == 0); DragDropEffects allowedEffect = isTargetRoot || isTargetSubFolder || isTargetSameParent ? DragDropEffects.None : copy ? DragDropEffects.Copy : DragDropEffects.Move; if (targetPath == CurrentFolderPath) { e.Effects = allowedEffect; e.DropPosition = DropPosition.Append; } else { e.Effects = allowedEffect; e.DropPosition = DropPosition.Inside; } } } finally { e.Handled = true; } }