From 40ee98591f37b03256756a5ba78775fc59dfea7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rnar=20Sundsb=C3=B8?= Date: Fri, 15 Mar 2024 11:27:50 +0100 Subject: [PATCH 01/16] Added ability to set the background brush property to DropHighlightAdorner. This can be set through DropTargetHighlightBrushProperty. Updated TreeViewSample background brush in right Right TreeView --- .../DragDrop.Properties.cs | 26 +++++++++++++++++++ src/GongSolutions.WPF.DragDrop/DragDrop.cs | 9 +++++++ .../DropTargetHighlightAdorner.cs | 10 ++++++- src/Showcase/Views/TreeViewSamples.xaml | 4 +++ 4 files changed, 48 insertions(+), 1 deletion(-) diff --git a/src/GongSolutions.WPF.DragDrop/DragDrop.Properties.cs b/src/GongSolutions.WPF.DragDrop/DragDrop.Properties.cs index 04ade227..13c34339 100644 --- a/src/GongSolutions.WPF.DragDrop/DragDrop.Properties.cs +++ b/src/GongSolutions.WPF.DragDrop/DragDrop.Properties.cs @@ -571,6 +571,32 @@ public static void SetDropTargetAdornerBrush(DependencyObject element, Brush val element.SetValue(DropTargetAdornerBrushProperty, value); } + /// + /// Gets or sets the brush to use for the . + /// + public static readonly DependencyProperty DropTargetHighlightBrushProperty = DependencyProperty.RegisterAttached( + "DropTargetHighlightBrush", typeof(Brush), typeof(DragDrop), new PropertyMetadata(default(Brush))); + + /// Helper for setting on . + /// to set on. + /// The brush to use for the background of . + /// Sets the brush for the DropTargetAdorner. + [AttachedPropertyBrowsableForType(typeof(UIElement))] + public static void SetDropTargetHighlightBrush(DependencyObject element, Brush value) + { + element.SetValue(DropTargetHighlightBrushProperty, value); + } + + /// Helper for setting on . + /// to set on. + /// DropTargetAdornerBrush property value. + /// Sets the brush for the DropTargetAdorner. + [AttachedPropertyBrowsableForType(typeof(UIElement))] + public static Brush GetDropTargetHighlightBrush(DependencyObject element) + { + return (Brush)element.GetValue(DropTargetHighlightBrushProperty); + } + /// /// Gets or sets the pen for the DropTargetAdorner. /// diff --git a/src/GongSolutions.WPF.DragDrop/DragDrop.cs b/src/GongSolutions.WPF.DragDrop/DragDrop.cs index d1b5d8a5..6da0876a 100644 --- a/src/GongSolutions.WPF.DragDrop/DragDrop.cs +++ b/src/GongSolutions.WPF.DragDrop/DragDrop.cs @@ -835,6 +835,15 @@ private static void DropTargetOnDragOver(object sender, DragEventArgs e, EventTy } } + if(adorner is DropTargetHighlightAdorner highlightAdorner) + { + var highlightBrush = GetDropTargetHighlightBrush(dropInfo.VisualTarget); + if (highlightBrush != null) + { + highlightAdorner.Background = highlightBrush; + } + } + adorner.DropInfo = dropInfo; adorner.InvalidateVisual(); } diff --git a/src/GongSolutions.WPF.DragDrop/DropTargetHighlightAdorner.cs b/src/GongSolutions.WPF.DragDrop/DropTargetHighlightAdorner.cs index 56bb14d0..85774845 100644 --- a/src/GongSolutions.WPF.DragDrop/DropTargetHighlightAdorner.cs +++ b/src/GongSolutions.WPF.DragDrop/DropTargetHighlightAdorner.cs @@ -12,6 +12,12 @@ public DropTargetHighlightAdorner(UIElement adornedElement, DropInfo dropInfo) { } + /// + /// The background brush for the highlight rectangle for TreeViewItem. This can be overridden through + /// . The default value is . + /// + public Brush Background { get; set; } = Brushes.Transparent; + /// /// When overridden in a derived class, participates in rendering operations that are directed by the layout system. /// The rendering instructions for this element are not used directly when this method is invoked, and are instead preserved for @@ -44,7 +50,9 @@ protected override void OnRender(DrawingContext drawingContext) rect = new Rect(location, bounds.Size); } - drawingContext.DrawRoundedRectangle(null, this.Pen, rect, 2, 2); + drawingContext.DrawRoundedRectangle(this.Background, this.Pen, rect, 2, 2); + } + } } } } diff --git a/src/Showcase/Views/TreeViewSamples.xaml b/src/Showcase/Views/TreeViewSamples.xaml index 9d3dfe50..a3a5c765 100644 --- a/src/Showcase/Views/TreeViewSamples.xaml +++ b/src/Showcase/Views/TreeViewSamples.xaml @@ -32,6 +32,9 @@ + + + @@ -64,6 +67,7 @@ dd:DragDrop.IsDragSource="True" dd:DragDrop.IsDropTarget="True" dd:DragDrop.UseDefaultDragAdorner="True" + dd:DragDrop.DropTargetHighlightBrush="{StaticResource DropTargetHighlightBrush}" ItemContainerStyle="{StaticResource BoundTreeViewItemStyle}" ItemsSource="{Binding Data.TreeCollection2}"> From 3ba076e70348ef53087ee4bc6b5ff8df790cee6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rnar=20Sundsb=C3=B8?= Date: Fri, 15 Mar 2024 11:32:35 +0100 Subject: [PATCH 02/16] Minor fix after merge --- src/GongSolutions.WPF.DragDrop/DropTargetHighlightAdorner.cs | 2 -- src/Showcase/Views/TreeViewSamples.xaml | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/GongSolutions.WPF.DragDrop/DropTargetHighlightAdorner.cs b/src/GongSolutions.WPF.DragDrop/DropTargetHighlightAdorner.cs index 85774845..f11b064b 100644 --- a/src/GongSolutions.WPF.DragDrop/DropTargetHighlightAdorner.cs +++ b/src/GongSolutions.WPF.DragDrop/DropTargetHighlightAdorner.cs @@ -53,7 +53,5 @@ protected override void OnRender(DrawingContext drawingContext) drawingContext.DrawRoundedRectangle(this.Background, this.Pen, rect, 2, 2); } } - } - } } } \ No newline at end of file diff --git a/src/Showcase/Views/TreeViewSamples.xaml b/src/Showcase/Views/TreeViewSamples.xaml index a3a5c765..cdebc58d 100644 --- a/src/Showcase/Views/TreeViewSamples.xaml +++ b/src/Showcase/Views/TreeViewSamples.xaml @@ -52,6 +52,7 @@ dd:DragDrop.SelectDroppedItems="True" dd:DragDrop.UseDefaultDragAdorner="True" dd:DragDrop.UseDefaultEffectDataTemplate="True" + dd:DragDrop.DropTargetHighlightBrush="{StaticResource DropTargetHighlightBrush}" ItemContainerStyle="{StaticResource BoundTreeViewItemStyle}" ItemsSource="{Binding Data.TreeCollection1}" Loaded="LeftBoundTreeView_Loaded"> From f43e0a74924a524bc9f626e76c7d931d9e5c7b80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rnar=20Sundsb=C3=B8?= Date: Fri, 15 Mar 2024 12:40:56 +0100 Subject: [PATCH 03/16] Added property UseDropTargetHint to DragDrop, and adding drop targets to internal cache. Updated SettingsView to set this property --- .../DragDrop.Properties.cs | 54 ++++++++++++++++ .../DropHintHelpers.cs | 62 +++++++++++++++++++ src/Showcase/Views/SettingsView.xaml | 5 ++ 3 files changed, 121 insertions(+) create mode 100644 src/GongSolutions.WPF.DragDrop/DropHintHelpers.cs diff --git a/src/GongSolutions.WPF.DragDrop/DragDrop.Properties.cs b/src/GongSolutions.WPF.DragDrop/DragDrop.Properties.cs index 13c34339..f42fa533 100644 --- a/src/GongSolutions.WPF.DragDrop/DragDrop.Properties.cs +++ b/src/GongSolutions.WPF.DragDrop/DragDrop.Properties.cs @@ -746,6 +746,60 @@ public static void SetDragDropCopyKeyState(DependencyObject element, DragDropKey element.SetValue(DragDropCopyKeyStateProperty, value); } + /// + /// Get or set whether drop target hint is used to indicate where the user can drop. + /// + public static readonly DependencyProperty UseDropTargetHintProperty + = DependencyProperty.RegisterAttached("UseDropTargetHint", + typeof(bool), + typeof(DragDrop), + new PropertyMetadata(default(bool), OnUseDropTargetHintPropertyChanged)); + + /// Helper for setting on . + /// to set on. + /// UseDropTargetHintProperty property value. + /// Sets whether the hint adorner should be displayed. + [AttachedPropertyBrowsableForType(typeof(UIElement))] + public static void SetUseDropTargetHint(DependencyObject element, bool value) + { + element.SetValue(UseDropTargetHintProperty, value); + } + + /// Helper for getting from . + /// to read from. + /// Gets whether if the default DragAdorner is used. + /// UseDropTargetHintProperty property value. + [AttachedPropertyBrowsableForType(typeof(UIElement))] + public static bool GetUseDropTargetHint(DependencyObject element) + { + return (bool)element.GetValue(UseDropTargetHintProperty); + } + + /// + /// Implements side effects for when the UseDropTargetHintProperty changes. + /// + /// + /// + private static void OnUseDropTargetHintPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) + { + var dropTarget = d as UIElement; + if (dropTarget == null) + { + return; + } + + // Add or remove drop target from hint cache. + bool useDropTargetHint = (bool)e.NewValue; + if (useDropTargetHint) + { + DropHintHelpers.AddDropHintTarget(dropTarget); + } + else + { + DropHintHelpers.RemoveDropHintTarget(dropTarget); + } + } + /// /// Gets or sets whether if the default DragAdorner should be use. /// diff --git a/src/GongSolutions.WPF.DragDrop/DropHintHelpers.cs b/src/GongSolutions.WPF.DragDrop/DropHintHelpers.cs new file mode 100644 index 00000000..43b956c2 --- /dev/null +++ b/src/GongSolutions.WPF.DragDrop/DropHintHelpers.cs @@ -0,0 +1,62 @@ +namespace GongSolutions.Wpf.DragDrop; + +using System; +using System.Collections.Generic; +using System.Windows; + +/// +/// Helper methods to assist with drop hints, used through . +/// +internal static class DropHintHelpers +{ + private static readonly List _dropTargetHintWrappers = new(); + + /// + /// Add reference to drop target so we can show hint when drag operation start. + /// + /// + public static void AddDropHintTarget(UIElement dropTarget) + { + _dropTargetHintWrappers.Add(new DropTargetHintWrapper(dropTarget)); + CleanDeadwood(); + } + + /// + /// Remove reference to drop target, to avoid memory leaks. + /// + /// + public static void RemoveDropHintTarget(UIElement dropTarget) + { + _dropTargetHintWrappers.RemoveAll(m => m.Target == dropTarget); + CleanDeadwood(); + } + + /// + /// Clean deadwood in case we are holding on to references to dead objects. + /// + private static void CleanDeadwood() + { + _dropTargetHintWrappers.RemoveAll((m => !m.IsAlive)); + } +} + +/// +/// Wrapper of the so we only have weak references to the drop targets +/// to avoid memory leaks. +/// +internal class DropTargetHintWrapper +{ + private readonly WeakReference _dropTarget; + + public DropTargetHintWrapper(UIElement dropTarget) + { + _dropTarget = new WeakReference(dropTarget); + } + + public UIElement Target => _dropTarget.TryGetTarget(out var target) ? target : null; + + /// + /// Property indicating if the weak reference is still alive, or should be disposed of. + /// + public bool IsAlive => _dropTarget.TryGetTarget(out _); +} \ No newline at end of file diff --git a/src/Showcase/Views/SettingsView.xaml b/src/Showcase/Views/SettingsView.xaml index 81a6aa94..44c47b73 100644 --- a/src/Showcase/Views/SettingsView.xaml +++ b/src/Showcase/Views/SettingsView.xaml @@ -66,6 +66,11 @@ Content="UseDefaultEffectDataTemplate" IsChecked="{Binding Path=(dd:DragDrop.UseDefaultEffectDataTemplate), Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" ToolTip="Sets whether if the default DataTemplate for the effects should be use." /> + + From afb2098b8e17871b9214996fb094ce73c94da12a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rnar=20Sundsb=C3=B8?= Date: Fri, 15 Mar 2024 13:23:12 +0100 Subject: [PATCH 04/16] Added interface IDropTargetHint and implemented it on DefaultDropHandler. Extended doc for DropInfo.DestinationText --- .../DefaultDropHandler.cs | 10 +++++- .../DropTargetAdorners.cs | 5 +++ .../DropTargetHintAdorner.cs | 32 +++++++++++++++++++ src/GongSolutions.WPF.DragDrop/IDropInfo.cs | 2 +- .../IDropTargetHint.cs | 20 ++++++++++++ 5 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 src/GongSolutions.WPF.DragDrop/DropTargetHintAdorner.cs create mode 100644 src/GongSolutions.WPF.DragDrop/IDropTargetHint.cs diff --git a/src/GongSolutions.WPF.DragDrop/DefaultDropHandler.cs b/src/GongSolutions.WPF.DragDrop/DefaultDropHandler.cs index 7d025b79..17e4cb43 100644 --- a/src/GongSolutions.WPF.DragDrop/DefaultDropHandler.cs +++ b/src/GongSolutions.WPF.DragDrop/DefaultDropHandler.cs @@ -13,7 +13,7 @@ namespace GongSolutions.Wpf.DragDrop /// /// A default insertion drop handler for the most common usages /// - public class DefaultDropHandler : IDropTarget + public class DefaultDropHandler : IDropTargetHint { /// /// Test the specified drop information for the right data. @@ -217,6 +217,14 @@ protected static bool TestCompatibleTypes(IEnumerable target, object data) } } + public virtual void DropHint(IDropInfo dropInfo) + { + if (CanAcceptData(dropInfo)) + { + dropInfo.DropTargetAdorner = DropTargetAdorners.Hint; + } + } + #if !NETCOREAPP3_1_OR_GREATER /// public void DragEnter(IDropInfo dropInfo) diff --git a/src/GongSolutions.WPF.DragDrop/DropTargetAdorners.cs b/src/GongSolutions.WPF.DragDrop/DropTargetAdorners.cs index 5b938a12..92886554 100644 --- a/src/GongSolutions.WPF.DragDrop/DropTargetAdorners.cs +++ b/src/GongSolutions.WPF.DragDrop/DropTargetAdorners.cs @@ -13,5 +13,10 @@ public class DropTargetAdorners /// Gets the type of the default insert target adorner. /// public static Type Insert { get; } = typeof(DropTargetInsertionAdorner); + + /// + /// Get the type for the default hint target adorner. + /// + public static Type Hint { get; } = typeof(DropTargetHintAdorner); } } \ No newline at end of file diff --git a/src/GongSolutions.WPF.DragDrop/DropTargetHintAdorner.cs b/src/GongSolutions.WPF.DragDrop/DropTargetHintAdorner.cs new file mode 100644 index 00000000..80b7e28c --- /dev/null +++ b/src/GongSolutions.WPF.DragDrop/DropTargetHintAdorner.cs @@ -0,0 +1,32 @@ +namespace GongSolutions.Wpf.DragDrop; + +using System.Windows; +using System.Windows.Media; + +/// +/// This adorner is used to display hints for where items can be dropped. +/// +public class DropTargetHintAdorner : DropTargetHighlightAdorner +{ + public DropTargetHintAdorner(UIElement adornedElement, DropInfo dropInfo) + : base(adornedElement, dropInfo) + { + Background = new SolidColorBrush(Colors.Green) { Opacity = 0.2 }; + Background.Freeze(); + + Pen = new Pen(Brushes.DarkGreen, 0.2); + } + + /// + protected override void OnRender(DrawingContext drawingContext) + { + var visualTarget = this.DropInfo.VisualTarget; + if (visualTarget != null) + { + var translatePoint = visualTarget.TranslatePoint(new Point(), this.AdornedElement); + translatePoint.Offset(1, 1); + var bounds = new Rect(translatePoint, new Size(visualTarget.RenderSize.Width - 2, visualTarget.RenderSize.Height - 2)); + drawingContext.DrawRectangle(this.Background, this.Pen, bounds); + } + } +} \ No newline at end of file diff --git a/src/GongSolutions.WPF.DragDrop/IDropInfo.cs b/src/GongSolutions.WPF.DragDrop/IDropInfo.cs index 37d5b66b..dc4f5948 100644 --- a/src/GongSolutions.WPF.DragDrop/IDropInfo.cs +++ b/src/GongSolutions.WPF.DragDrop/IDropInfo.cs @@ -121,7 +121,7 @@ public interface IDropInfo FlowDirection VisualTargetFlowDirection { get; } /// - /// Gets and sets the text displayed in the DropDropEffects Adorner. + /// Gets and sets the text displayed in the DropDropEffects Adorner and DropTargetHintAdorner. /// string DestinationText { get; set; } diff --git a/src/GongSolutions.WPF.DragDrop/IDropTargetHint.cs b/src/GongSolutions.WPF.DragDrop/IDropTargetHint.cs new file mode 100644 index 00000000..b14c6d47 --- /dev/null +++ b/src/GongSolutions.WPF.DragDrop/IDropTargetHint.cs @@ -0,0 +1,20 @@ +namespace GongSolutions.Wpf.DragDrop; + +/// +/// Interface implemented by Drop Handlers which can provide a hint to the user where the item can be dropped. +/// +public interface IDropTargetHint : IDropTarget +{ + /// + /// Notifies the drop handler when a drag is initiated to display hint about potential drop targets. + /// + /// Object which contains several drop information. +#if NETCOREAPP3_1_OR_GREATER + void DropHint(IDropInfo dropInfo) + { + // nothing here + } +#else + void DropHint(IDropInfo dropInfo); +#endif +} \ No newline at end of file From 5c943fc830edb185d7de739edfb1b210e9d32667 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rnar=20Sundsb=C3=B8?= Date: Fri, 15 Mar 2024 21:35:39 +0100 Subject: [PATCH 05/16] Added DropHintDataTemplate property --- .../DragDrop.Properties.cs | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/GongSolutions.WPF.DragDrop/DragDrop.Properties.cs b/src/GongSolutions.WPF.DragDrop/DragDrop.Properties.cs index f42fa533..89220709 100644 --- a/src/GongSolutions.WPF.DragDrop/DragDrop.Properties.cs +++ b/src/GongSolutions.WPF.DragDrop/DragDrop.Properties.cs @@ -746,6 +746,30 @@ public static void SetDragDropCopyKeyState(DependencyObject element, DragDropKey element.SetValue(DragDropCopyKeyStateProperty, value); } + /// + /// Data template for displaying drop hint. + /// + public static readonly DependencyProperty DropHintDataTemplateProperty = DependencyProperty.RegisterAttached( + "DropHintDataTemplate", typeof(DataTemplate), typeof(DragDrop), new PropertyMetadata(default(DataTemplate))); + + /// + /// Helper method for setting the on the given . + /// This property is used when is set to true to display hint overlay + /// + /// The element to set the drop hint template for + /// The to display + [AttachedPropertyBrowsableForType(typeof(UIElement))] + public static void SetDropHintDataTemplate(DependencyObject element, DataTemplate value) + { + element.SetValue(DropHintDataTemplateProperty, value); + } + + [AttachedPropertyBrowsableForType(typeof(UIElement))] + public static DataTemplate GetDropHintDataTemplate(DependencyObject element) + { + return (DataTemplate)element.GetValue(DropHintDataTemplateProperty); + } + /// /// Get or set whether drop target hint is used to indicate where the user can drop. /// From 2830dc26d4439f8ca31b3445b52ee99b4409c5c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rnar=20Sundsb=C3=B8?= Date: Mon, 18 Mar 2024 14:29:16 +0100 Subject: [PATCH 06/16] DefaultDropHandler,TestCompatibleTypes now returns false if parameter data is null --- src/GongSolutions.WPF.DragDrop/DefaultDropHandler.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/GongSolutions.WPF.DragDrop/DefaultDropHandler.cs b/src/GongSolutions.WPF.DragDrop/DefaultDropHandler.cs index 17e4cb43..97543404 100644 --- a/src/GongSolutions.WPF.DragDrop/DefaultDropHandler.cs +++ b/src/GongSolutions.WPF.DragDrop/DefaultDropHandler.cs @@ -200,6 +200,11 @@ protected static bool IsChildOf(UIElement targetItem, UIElement sourceItem) protected static bool TestCompatibleTypes(IEnumerable target, object data) { + if (data == null) + { + return false; + } + bool InterfaceFilter(Type t, object o) => (t.IsGenericType && t.GetGenericTypeDefinition() == typeof(IEnumerable<>)); var enumerableInterfaces = target.GetType().FindInterfaces(InterfaceFilter, null); From 88609546000ceec9e68b7310b53d36e64aa9dc17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rnar=20Sundsb=C3=B8?= Date: Thu, 21 Mar 2024 13:33:30 +0100 Subject: [PATCH 07/16] Drop target hint --- .../DefaultDropHandler.cs | 19 ++- src/GongSolutions.WPF.DragDrop/DragDrop.cs | 14 +- .../DropHintHelpers.cs | 108 ++++++++++++++- .../DropHintInfo.cs | 26 ++++ src/GongSolutions.WPF.DragDrop/DropInfo.cs | 12 +- .../DropTargetAdorner.cs | 32 +++-- .../DropTargetHighlightAdorner.cs | 2 +- .../DropTargetHintAdorner.cs | 97 ++++++++++++-- .../IDropHintInfo.cs | 31 +++++ src/GongSolutions.WPF.DragDrop/IDropInfo.cs | 9 ++ src/GongSolutions.WPF.DragDrop/IDropTarget.cs | 20 +++ .../IDropTargetHint.cs | 20 --- src/Showcase/Models/DestinationModel.cs | 31 +++++ src/Showcase/Models/HintDropTarget.cs | 40 ++++++ src/Showcase/Models/SampleData.cs | 6 + .../Models/SpecializedDropHintTarget.cs | 77 +++++++++++ src/Showcase/Views/MixedSamples.xaml | 126 ++++++++++++++++++ src/Showcase/Views/TreeViewSamples.xaml | 2 +- 18 files changed, 614 insertions(+), 58 deletions(-) create mode 100644 src/GongSolutions.WPF.DragDrop/DropHintInfo.cs create mode 100644 src/GongSolutions.WPF.DragDrop/IDropHintInfo.cs delete mode 100644 src/GongSolutions.WPF.DragDrop/IDropTargetHint.cs create mode 100644 src/Showcase/Models/DestinationModel.cs create mode 100644 src/Showcase/Models/HintDropTarget.cs create mode 100644 src/Showcase/Models/SpecializedDropHintTarget.cs diff --git a/src/GongSolutions.WPF.DragDrop/DefaultDropHandler.cs b/src/GongSolutions.WPF.DragDrop/DefaultDropHandler.cs index 97543404..1d4547a4 100644 --- a/src/GongSolutions.WPF.DragDrop/DefaultDropHandler.cs +++ b/src/GongSolutions.WPF.DragDrop/DefaultDropHandler.cs @@ -13,7 +13,7 @@ namespace GongSolutions.Wpf.DragDrop /// /// A default insertion drop handler for the most common usages /// - public class DefaultDropHandler : IDropTargetHint + public class DefaultDropHandler : IDropTarget { /// /// Test the specified drop information for the right data. @@ -61,6 +61,11 @@ public static bool CanAcceptData(IDropInfo dropInfo) public static IEnumerable ExtractData(object data) { + if (data == null) + { + return Enumerable.Empty(); + } + if (data is IEnumerable enumerable and not string) { return enumerable; @@ -222,12 +227,14 @@ protected static bool TestCompatibleTypes(IEnumerable target, object data) } } - public virtual void DropHint(IDropInfo dropInfo) + public virtual void DropHint(IDropHintInfo dropHintInfo) { - if (CanAcceptData(dropInfo)) - { - dropInfo.DropTargetAdorner = DropTargetAdorners.Hint; - } + dropHintInfo.DropTargetHintAdorner = DropTargetAdorners.Hint; + } + + public virtual void DropHintOver(IDropHintInfo dropHintInfo) + { + dropHintInfo.DropTargetHintAdorner = DropTargetAdorners.Hint; } #if !NETCOREAPP3_1_OR_GREATER diff --git a/src/GongSolutions.WPF.DragDrop/DragDrop.cs b/src/GongSolutions.WPF.DragDrop/DragDrop.cs index 6da0876a..ba65e74e 100644 --- a/src/GongSolutions.WPF.DragDrop/DragDrop.cs +++ b/src/GongSolutions.WPF.DragDrop/DragDrop.cs @@ -33,7 +33,7 @@ private static IDragSource TryGetDragHandler(IDragInfo dragInfo, UIElement sende /// the drop info object /// the sender from an event, e.g. drag over /// - private static IDropTarget TryGetDropHandler(IDropInfo dropInfo, UIElement sender) + internal static IDropTarget TryGetDropHandler(IDropInfo dropInfo, UIElement sender) { var dropHandler = (dropInfo?.VisualTarget != null ? GetDropHandler(dropInfo.VisualTarget) : null) ?? (sender != null ? GetDropHandler(sender) : null); @@ -55,7 +55,7 @@ private static IDragInfoBuilder TryGetDragInfoBuilder(DependencyObject sender) /// /// the sender from an event, e.g. drag over /// - private static IDropInfoBuilder TryGetDropInfoBuilder(DependencyObject sender) + internal static IDropInfoBuilder TryGetDropInfoBuilder(DependencyObject sender) { return sender != null ? GetDropInfoBuilder(sender) : null; } @@ -650,6 +650,7 @@ private static void DoDragSourceMove(object sender, Func g } }); + DropHintHelpers.ShowDropHintAdorners(dragInfo); var dragDropHandler = dragInfo.DragDropHandler ?? System.Windows.DragDrop.DoDragDrop; var dragDropEffects = dragDropHandler(dragInfo.VisualSource, dataObject, dragInfo.Effects); if (dragDropEffects == DragDropEffects.None) @@ -657,6 +658,7 @@ private static void DoDragSourceMove(object sender, Func g dragHandler.DragCancelled(); } + DropHintHelpers.HideDropHintAdorners(); dragHandler.DragDropOperationFinished(dragDropEffects, dragInfo); } catch (Exception ex) @@ -685,6 +687,7 @@ private static void DragSourceOnQueryContinueDrag(object sender, QueryContinueDr DragDropPreview = null; DragDropEffectPreview = null; DropTargetAdorner = null; + DropHintHelpers.HideDropHintAdorners(); Mouse.OverrideCursor = null; } } @@ -719,7 +722,11 @@ private static void OnRealTargetDragLeave(object sender, DragEventArgs e) var dropInfo = dropInfoBuilder?.CreateDropInfo(sender, e, dragInfo, eventType) ?? new DropInfo(sender, e, dragInfo, eventType); var dropHandler = TryGetDropHandler(dropInfo, sender as UIElement); - dropHandler?.DragLeave(dropInfo); + if(dropHandler != null) + { + dropHandler.DragLeave(dropInfo); + DropHintHelpers.OnDropHintLeave(dropHandler, dragInfo, dropInfo, sender); + } DragDropEffectPreview = null; DropTargetAdorner = null; @@ -764,6 +771,7 @@ private static void DropTargetOnDragOver(object sender, DragEventArgs e, EventTy } dropHandler.DragOver(dropInfo); + DropHintHelpers.OnDropHintEnter(dropHandler, dragInfo, dropInfo, sender); if (dragInfo is not null) { diff --git a/src/GongSolutions.WPF.DragDrop/DropHintHelpers.cs b/src/GongSolutions.WPF.DragDrop/DropHintHelpers.cs index 43b956c2..f72444f5 100644 --- a/src/GongSolutions.WPF.DragDrop/DropHintHelpers.cs +++ b/src/GongSolutions.WPF.DragDrop/DropHintHelpers.cs @@ -31,6 +31,87 @@ public static void RemoveDropHintTarget(UIElement dropTarget) CleanDeadwood(); } + /// + /// Show all available drop hints. + /// + /// + public static void ShowDropHintAdorners(DragInfo dragInfo) + { + CleanDeadwood(); + var visibleTargets = GetVisibleTargets(); + foreach (var wrapper in visibleTargets) + { + var sender = wrapper.Target; + + var handler = DragDrop.TryGetDropHandler(null, sender); + if (handler != null) + { + var dropHintInfo = new DropHintInfo(dragInfo); + handler.DropHint(dropHintInfo); + UpdateHint(dropHintInfo, wrapper); + } + } + } + + /// + /// Update drop hint for the current element. + /// + /// + /// + /// + /// + public static void OnDropHintLeave(IDropTarget dropHandler, DragInfo dragInfo, IDropInfo dropInfo, object sender) + { + var wrapper = _dropTargetHintWrappers.Find(m => m.Target == sender); + if (wrapper != null) + { + var dropHintInfo = new DropHintInfo(dragInfo, dropInfo); + dropHandler.DropHint(dropHintInfo); + UpdateHint(dropHintInfo, wrapper); + } + } + + /// + /// Update drop hint for the current element. + /// + /// + /// + /// + /// + public static void OnDropHintEnter(IDropTarget dropHandler, DragInfo dragInfo, IDropInfo dropInfo, object sender) + { + var wrapper = _dropTargetHintWrappers.Find(m => m.Target == sender); + if (wrapper != null) + { + var dropHintInfo = new DropHintInfo(dragInfo, dropInfo); + dropHandler.DropHintOver(dropHintInfo); + UpdateHint(dropHintInfo, wrapper); + } + } + + private static void UpdateHint(IDropHintInfo dropHintInfo, DropTargetHintWrapper wrapper) + { + var dataTemplate = DragDrop.GetDropHintDataTemplate(wrapper.Target); + if (dropHintInfo.DropTargetHintAdorner == null) + { + wrapper.DropTargetHintAdorner = null; + } + + if (dropHintInfo.DropTargetHintAdorner != null && dropHintInfo.DropTargetHintAdorner.IsAssignableTo(typeof(DropTargetHintAdorner))) + { + wrapper.DropTargetHintAdorner = DropTargetHintAdorner.CreateHintAdorner(dropHintInfo.DropTargetHintAdorner, wrapper.Target, dropHintInfo, dataTemplate); + } + } + + /// + /// Helper method for getting available hint drop targets. + /// + /// + private static List GetVisibleTargets() + { + return _dropTargetHintWrappers.FindAll(m => m.Target?.IsVisible == true && DragDrop.GetIsDropTarget(m.Target)); + } + /// /// Clean deadwood in case we are holding on to references to dead objects. /// @@ -38,15 +119,25 @@ private static void CleanDeadwood() { _dropTargetHintWrappers.RemoveAll((m => !m.IsAlive)); } + + public static void HideDropHintAdorners() + { + CleanDeadwood(); + foreach (var target in _dropTargetHintWrappers) + { + target.DropTargetHintAdorner = null; + } + } } /// /// Wrapper of the so we only have weak references to the drop targets /// to avoid memory leaks. /// -internal class DropTargetHintWrapper +internal sealed class DropTargetHintWrapper : IDisposable { private readonly WeakReference _dropTarget; + private DropTargetHintAdorner dropTargetHintAdorner; public DropTargetHintWrapper(UIElement dropTarget) { @@ -59,4 +150,19 @@ public DropTargetHintWrapper(UIElement dropTarget) /// Property indicating if the weak reference is still alive, or should be disposed of. /// public bool IsAlive => _dropTarget.TryGetTarget(out _); + + public DropTargetHintAdorner DropTargetHintAdorner + { + get => this.dropTargetHintAdorner; + set + { + this.dropTargetHintAdorner?.Detatch(); + this.dropTargetHintAdorner = value; + } + } + + public void Dispose() + { + this.DropTargetHintAdorner = null; + } } \ No newline at end of file diff --git a/src/GongSolutions.WPF.DragDrop/DropHintInfo.cs b/src/GongSolutions.WPF.DragDrop/DropHintInfo.cs new file mode 100644 index 00000000..aecc2d89 --- /dev/null +++ b/src/GongSolutions.WPF.DragDrop/DropHintInfo.cs @@ -0,0 +1,26 @@ +namespace GongSolutions.Wpf.DragDrop; + +using System; + +/// +/// Implementation of the interface to hold DropHint information. +/// +public class DropHintInfo : IDropHintInfo +{ + /// + public IDragInfo DragInfo { get; } + /// + public IDropInfo DropInfo { get; } + + /// + public Type DropTargetHintAdorner { get; set; } + + /// + public string DestinationText { get; set; } + + public DropHintInfo(IDragInfo dragInfo, IDropInfo dropInfo = null) + { + this.DragInfo = dragInfo; + this.DropInfo = dropInfo; + } +} \ No newline at end of file diff --git a/src/GongSolutions.WPF.DragDrop/DropInfo.cs b/src/GongSolutions.WPF.DragDrop/DropInfo.cs index 740afed0..8bbcadcb 100644 --- a/src/GongSolutions.WPF.DragDrop/DropInfo.cs +++ b/src/GongSolutions.WPF.DragDrop/DropInfo.cs @@ -35,6 +35,9 @@ public class DropInfo : IDropInfo /// public Type DropTargetAdorner { get; set; } + /// + public Type DropTargetHintAdorner { get; set; } + /// public DragDropEffects Effects { get; set; } @@ -162,10 +165,11 @@ public bool IsSameDragDropContextAsSource public DropInfo(object sender, DragEventArgs e, [CanBeNull] IDragInfo dragInfo, EventType eventType) { this.DragInfo = dragInfo; - this.KeyStates = e.KeyStates; + this.KeyStates = e?.KeyStates ?? DragDropKeyStates.None; this.EventType = eventType; - var dataFormat = dragInfo?.DataFormat; - this.Data = dataFormat != null && e.Data.GetDataPresent(dataFormat.Name) ? e.Data.GetData(dataFormat.Name) : e.Data; + var dataFormat = dragInfo?.DataFormat ?? dragInfo?.DataFormat; + if(e?.Data != null) + this.Data = dataFormat != null && e.Data.GetDataPresent(dataFormat.Name) ? e.Data.GetData(dataFormat.Name) : dragInfo?.Data; this.VisualTarget = sender as UIElement; // if there is no drop target, find another @@ -198,7 +202,7 @@ public DropInfo(object sender, DragEventArgs e, [CanBeNull] IDragInfo dragInfo, this.TargetScrollingMode = this.VisualTarget != null ? DragDrop.GetDropScrollingMode(this.VisualTarget) : ScrollingMode.Both; // visual target can be null, so give us a point... - this.DropPosition = this.VisualTarget != null ? e.GetPosition(this.VisualTarget) : new Point(); + this.DropPosition = this.VisualTarget != null && e != null ? e.GetPosition(this.VisualTarget) : new Point(); if (this.VisualTarget is TabControl) { diff --git a/src/GongSolutions.WPF.DragDrop/DropTargetAdorner.cs b/src/GongSolutions.WPF.DragDrop/DropTargetAdorner.cs index 5b9aa963..bc49bfcd 100644 --- a/src/GongSolutions.WPF.DragDrop/DropTargetAdorner.cs +++ b/src/GongSolutions.WPF.DragDrop/DropTargetAdorner.cs @@ -1,13 +1,26 @@ using System; using System.Windows; -using System.Windows.Documents; -using System.Windows.Media; namespace GongSolutions.Wpf.DragDrop { + using System.Windows.Documents; + using System.Windows.Media; + + /// + /// Base class for drop target adorner. + /// public abstract class DropTargetAdorner : Adorner { - public DropTargetAdorner(UIElement adornedElement, IDropInfo dropInfo) + private readonly AdornerLayer m_AdornerLayer; + + /// + /// Gets or Sets the pen which can be used for the render process. + /// + public Pen Pen { get; set; } = new Pen(Brushes.Gray, 2); + + public IDropInfo DropInfo { get; set; } + + protected DropTargetAdorner(UIElement adornedElement, IDropInfo dropInfo) : base(adornedElement) { this.DropInfo = dropInfo; @@ -15,19 +28,12 @@ public DropTargetAdorner(UIElement adornedElement, IDropInfo dropInfo) this.AllowDrop = false; this.SnapsToDevicePixels = true; this.m_AdornerLayer = AdornerLayer.GetAdornerLayer(adornedElement); - this.m_AdornerLayer.Add(this); + this.m_AdornerLayer?.Add(this); } - public IDropInfo DropInfo { get; set; } - - /// - /// Gets or Sets the pen which can be used for the render process. - /// - public Pen Pen { get; set; } = new Pen(Brushes.Gray, 2); - public void Detatch() { - this.m_AdornerLayer.Remove(this); + this.m_AdornerLayer?.Remove(this); } internal static DropTargetAdorner Create(Type type, UIElement adornedElement, IDropInfo dropInfo) @@ -38,7 +44,5 @@ internal static DropTargetAdorner Create(Type type, UIElement adornedElement, ID } return type.GetConstructor(new[] { typeof(UIElement), typeof(DropInfo) })?.Invoke(new object[] { adornedElement, dropInfo }) as DropTargetAdorner; } - - private readonly AdornerLayer m_AdornerLayer; } } \ No newline at end of file diff --git a/src/GongSolutions.WPF.DragDrop/DropTargetHighlightAdorner.cs b/src/GongSolutions.WPF.DragDrop/DropTargetHighlightAdorner.cs index f11b064b..6012185d 100644 --- a/src/GongSolutions.WPF.DragDrop/DropTargetHighlightAdorner.cs +++ b/src/GongSolutions.WPF.DragDrop/DropTargetHighlightAdorner.cs @@ -7,7 +7,7 @@ namespace GongSolutions.Wpf.DragDrop { public class DropTargetHighlightAdorner : DropTargetAdorner { - public DropTargetHighlightAdorner(UIElement adornedElement, DropInfo dropInfo) + public DropTargetHighlightAdorner(UIElement adornedElement, IDropInfo dropInfo) : base(adornedElement, dropInfo) { } diff --git a/src/GongSolutions.WPF.DragDrop/DropTargetHintAdorner.cs b/src/GongSolutions.WPF.DragDrop/DropTargetHintAdorner.cs index 80b7e28c..8d1525a2 100644 --- a/src/GongSolutions.WPF.DragDrop/DropTargetHintAdorner.cs +++ b/src/GongSolutions.WPF.DragDrop/DropTargetHintAdorner.cs @@ -1,6 +1,8 @@ namespace GongSolutions.Wpf.DragDrop; +using System; using System.Windows; +using System.Windows.Controls; using System.Windows.Media; /// @@ -8,25 +10,104 @@ namespace GongSolutions.Wpf.DragDrop; /// public class DropTargetHintAdorner : DropTargetHighlightAdorner { - public DropTargetHintAdorner(UIElement adornedElement, DropInfo dropInfo) - : base(adornedElement, dropInfo) + private readonly IDropHintInfo _dropHintInfo; + private readonly ContentPresenter _presenter; + + public DropTargetHintAdorner(UIElement adornedElement, + IDropHintInfo dropHintInfo, + DataTemplate dataTemplate) + : base(adornedElement, dropHintInfo.DropInfo) { - Background = new SolidColorBrush(Colors.Green) { Opacity = 0.2 }; - Background.Freeze(); - Pen = new Pen(Brushes.DarkGreen, 0.2); + Pen = new Pen(Brushes.Green, 0.3); + Background = new SolidColorBrush(Colors.Green) { Opacity = 0.5 }; + + _dropHintInfo = dropHintInfo; + + // Not showing hint when no data template is provided + _presenter = dataTemplate == null ? new ContentPresenter() : + new ContentPresenter + { + Content = dropHintInfo.DestinationText, + ContentTemplate = dataTemplate + }; + + if(dataTemplate != null) + { + Background = new SolidColorBrush(Colors.Transparent); + Pen = new Pen(new SolidColorBrush(Colors.Transparent), 0.5); + } + + Background.Freeze(); + Pen.Freeze(); } /// protected override void OnRender(DrawingContext drawingContext) { - var visualTarget = this.DropInfo.VisualTarget; - if (visualTarget != null) + if (this.AdornedElement is UIElement visualTarget) { var translatePoint = visualTarget.TranslatePoint(new Point(), this.AdornedElement); translatePoint.Offset(1, 1); - var bounds = new Rect(translatePoint, new Size(visualTarget.RenderSize.Width - 2, visualTarget.RenderSize.Height - 2)); + var width = Math.Max(visualTarget.RenderSize.Width, 2) - 2; + var height = Math.Max(visualTarget.RenderSize.Width, 2) - 2; + var bounds = new Rect(translatePoint, new Size(width - 2, height)); drawingContext.DrawRectangle(this.Background, this.Pen, bounds); } } + + internal static DropTargetHintAdorner CreateHintAdorner(Type type, UIElement adornedElement, IDropHintInfo dropHintInfo, DataTemplate dataTemplate) + { + if (!typeof(DropTargetHintAdorner).IsAssignableFrom(type)) + { + throw new InvalidOperationException("The requested adorner class does not derive from DropTargetHintAdorner."); + } + + return type.GetConstructor(new[] + { + typeof(UIElement), + typeof(DropHintInfo), + typeof(DataTemplate) + }) + ?.Invoke(new object[] + { adornedElement, + dropHintInfo, + dataTemplate}) + as DropTargetHintAdorner; + } + + private static Rect GetBounds(FrameworkElement element, UIElement visual) + { + return new Rect( + element.TranslatePoint(new Point(0, 0), visual), + element.TranslatePoint(new Point(element.ActualWidth, element.ActualHeight), visual)); + } + + protected override Size MeasureOverride(Size constraint) + { + _presenter.Measure(constraint); + return _presenter.DesiredSize; + } + + protected override Size ArrangeOverride(Size finalSize) + { + var bounds = GetBounds(AdornedElement as FrameworkElement, AdornedElement); + _presenter.Arrange(bounds); + return bounds.Size; + } + + protected override Visual GetVisualChild(int index) + { + return _presenter; + } + + protected override int VisualChildrenCount + { + get { return 1; } + } + + public ContentPresenter Presenter + { + get { return _presenter; } + } } \ No newline at end of file diff --git a/src/GongSolutions.WPF.DragDrop/IDropHintInfo.cs b/src/GongSolutions.WPF.DragDrop/IDropHintInfo.cs new file mode 100644 index 00000000..15f0eabe --- /dev/null +++ b/src/GongSolutions.WPF.DragDrop/IDropHintInfo.cs @@ -0,0 +1,31 @@ +namespace GongSolutions.Wpf.DragDrop; + +using System; + +/// +/// This interface is used with the and methods for +/// hint to the user about potential drop targets. +/// +public interface IDropHintInfo +{ + /// + /// Gets a object holding information about the source of the drag, + /// if the drag came from within the framework. + /// + IDragInfo DragInfo { get; } + /// + /// Get the drop info holding information about the current drag state. + /// + IDropInfo DropInfo { get; } + + /// + /// Gets or sets the class of drop target hint to display. + /// + /// + /// The standard drop target Adorner classes are held in the + /// class. + /// + Type DropTargetHintAdorner { get; set; } + + string DestinationText { get; set; } +} \ No newline at end of file diff --git a/src/GongSolutions.WPF.DragDrop/IDropInfo.cs b/src/GongSolutions.WPF.DragDrop/IDropInfo.cs index dc4f5948..9073e1d8 100644 --- a/src/GongSolutions.WPF.DragDrop/IDropInfo.cs +++ b/src/GongSolutions.WPF.DragDrop/IDropInfo.cs @@ -39,6 +39,15 @@ public interface IDropInfo /// Type DropTargetAdorner { get; set; } + /// + /// Gets or sets the class of drop target to display for hint. + /// + /// + /// The standard drop target Adorner classes are held in the + /// class. + /// + Type DropTargetHintAdorner { get; set; } + /// /// Gets or sets the allowed effects for the drop. /// diff --git a/src/GongSolutions.WPF.DragDrop/IDropTarget.cs b/src/GongSolutions.WPF.DragDrop/IDropTarget.cs index 1a6970d5..32980af8 100644 --- a/src/GongSolutions.WPF.DragDrop/IDropTarget.cs +++ b/src/GongSolutions.WPF.DragDrop/IDropTarget.cs @@ -7,6 +7,26 @@ namespace GongSolutions.Wpf.DragDrop /// public interface IDropTarget { + /// + /// Notifies the drop handler when a drag is initiated to display hint about potential drop targets. + /// + /// Object which contains several drop information. +#if NETCOREAPP3_1_OR_GREATER + void DropHint(IDropHintInfo dropHintInfo) + { + // nothing here + } + + void DropHintOver(IDropHintInfo dropHintInfo) + { + // nothing here + } +#else + void DropHint(IDropHintInfo dropHintInfo); + + void DropHintOver(IDropHintInfo dropHintInfo); +#endif + /// /// Notifies the drop handler when dragging operation enters a potential drop target. /// diff --git a/src/GongSolutions.WPF.DragDrop/IDropTargetHint.cs b/src/GongSolutions.WPF.DragDrop/IDropTargetHint.cs deleted file mode 100644 index b14c6d47..00000000 --- a/src/GongSolutions.WPF.DragDrop/IDropTargetHint.cs +++ /dev/null @@ -1,20 +0,0 @@ -namespace GongSolutions.Wpf.DragDrop; - -/// -/// Interface implemented by Drop Handlers which can provide a hint to the user where the item can be dropped. -/// -public interface IDropTargetHint : IDropTarget -{ - /// - /// Notifies the drop handler when a drag is initiated to display hint about potential drop targets. - /// - /// Object which contains several drop information. -#if NETCOREAPP3_1_OR_GREATER - void DropHint(IDropInfo dropInfo) - { - // nothing here - } -#else - void DropHint(IDropInfo dropInfo); -#endif -} \ No newline at end of file diff --git a/src/Showcase/Models/DestinationModel.cs b/src/Showcase/Models/DestinationModel.cs new file mode 100644 index 00000000..7f79b91d --- /dev/null +++ b/src/Showcase/Models/DestinationModel.cs @@ -0,0 +1,31 @@ +namespace Showcase.WPF.DragDrop.Models; + +using System.ComponentModel; +using System.Runtime.CompilerServices; +using JetBrains.Annotations; + +public class DestinationModel : INotifyPropertyChanged +{ + public string Name { get; set; } + + private int count; + + public int Count + { + get => this.count; + set + { + if (value == this.count) return; + this.count = value; + this.OnPropertyChanged(); + } + } + + public event PropertyChangedEventHandler PropertyChanged; + + [NotifyPropertyChangedInvocator] + protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) + { + this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } +} \ No newline at end of file diff --git a/src/Showcase/Models/HintDropTarget.cs b/src/Showcase/Models/HintDropTarget.cs new file mode 100644 index 00000000..df2f9bbf --- /dev/null +++ b/src/Showcase/Models/HintDropTarget.cs @@ -0,0 +1,40 @@ +namespace Showcase.WPF.DragDrop.Models; + +using System.Collections.Generic; +using System.Linq; +using GongSolutions.Wpf.DragDrop; + +/// +/// Drop target displaying hint about the item dropped. +/// +public class HintDropTarget : DefaultDropHandler +{ + public override void DropHintOver(IDropHintInfo dropHintInfo) + { + DropHint(dropHintInfo); + } + + public override void DropHint(IDropHintInfo dropHintInfo) + { + var items = GetData(dropHintInfo); + if(items.Count > 1) + { + dropHintInfo.DestinationText = $"Drop {items.Count} items"; + } + else if(items.Count == 1) + { + var item = items[0]; + dropHintInfo.DestinationText = item.Index % 2 == 0 ? "Drop even" : "Drop odd"; + } + + dropHintInfo.DropTargetHintAdorner = typeof(DropTargetHintAdorner); + } + + private static List GetData(IDropHintInfo dropHintInfo) + { + var items = ExtractData(dropHintInfo.DragInfo?.Data) + .OfType() + .ToList(); + return items; + } +} \ No newline at end of file diff --git a/src/Showcase/Models/SampleData.cs b/src/Showcase/Models/SampleData.cs index 4b1a12f4..70089cd4 100644 --- a/src/Showcase/Models/SampleData.cs +++ b/src/Showcase/Models/SampleData.cs @@ -21,6 +21,7 @@ public SampleData() for (var n = 0; n < 10; ++n) { this.Collection4.Add(new ItemModel() { Caption = $"Model {n + 1}" }); + this.DestinationCollection.Add(new DestinationModel { Name = $"Destination {n + 1}" }); } for (var g = 0; g < 4; ++g) @@ -57,6 +58,8 @@ public SampleData() this.TabItemCollection2.Add(new TabItemModel(1)); } + public ObservableCollection DestinationCollection { get; } = new ObservableCollection(); + public ObservableCollection SerializableCollection1 { get; set; } = new ObservableCollection(); public ObservableCollection SerializableCollection2 { get; set; } = new ObservableCollection(); @@ -104,5 +107,8 @@ public SampleData() public ListBoxCustomDropHandler ListBoxCustomDropHandler { get; set; } = new ListBoxCustomDropHandler(); public IDropTarget NestedDropHandler { get; set; } = new NestedDropHandler(); + + public IDropTarget HintDropTarget { get; set; } = new HintDropTarget(); + public IDropTarget SpecializedDropHintTarget { get; set; } = new SpecializedDropHintTarget(); } } \ No newline at end of file diff --git a/src/Showcase/Models/SpecializedDropHintTarget.cs b/src/Showcase/Models/SpecializedDropHintTarget.cs new file mode 100644 index 00000000..e6821dfa --- /dev/null +++ b/src/Showcase/Models/SpecializedDropHintTarget.cs @@ -0,0 +1,77 @@ +namespace Showcase.WPF.DragDrop.Models; + +using System.Linq; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Media; +using GongSolutions.Wpf.DragDrop; + +public class SpecializedDropErrorAdorner : DropTargetHintAdorner +{ + public SpecializedDropErrorAdorner(UIElement adornedElement, IDropHintInfo dropHintInfo, DataTemplate dataTemplate) + : base(adornedElement, dropHintInfo, null) + { + Background = new SolidColorBrush(Colors.DarkRed) { Opacity = 0.3 }; + Pen = new Pen(Brushes.DarkRed, 0.5); + Background.Freeze(); + } +} + +public class SpecializedDropHintTarget : IDropTarget +{ + public void DropHintOver(IDropHintInfo dropHintInfo) + { + if (!this.CanAccept(dropHintInfo.DragInfo) || dropHintInfo.DropInfo?.TargetItem is not DestinationModel) + { + dropHintInfo.DestinationText ="Can't drop here"; + // Red adorner if we can't drop + dropHintInfo.DropTargetHintAdorner = typeof(SpecializedDropErrorAdorner); + } + } + + public void DropHint(IDropHintInfo dropHintInfo) + { + if(CanAccept(dropHintInfo.DragInfo)) + { + dropHintInfo.DestinationText = "Send to destination"; + + dropHintInfo.DropTargetHintAdorner = typeof(DropTargetHintAdorner); + } + } + + public void DragOver(IDropInfo dropInfo) + { + if (this.CanAccept(dropInfo.DragInfo)) + { + var copyData = DefaultDropHandler.ShouldCopyData(dropInfo); + if (dropInfo.VisualTargetItem is ListBoxItem) + { + dropInfo.Effects = copyData ? DragDropEffects.Copy : DragDropEffects.Move; + dropInfo.DropTargetAdorner = DropTargetAdorners.Highlight; + dropInfo.EffectText = "Send"; + dropInfo.DestinationText = $"Send to {(dropInfo.TargetItem as DestinationModel)?.Name}".Trim(); + } + } + } + + private bool CanAccept(IDragInfo dragInfo) + { + if (dragInfo == null) + { + return false; + } + + var items = DefaultDropHandler.ExtractData(dragInfo.Data) + .OfType() + .ToList(); + return items.Count > 0; + } + + public void Drop(IDropInfo dropInfo) + { + if (dropInfo.TargetItem is DestinationModel destination) + { + destination.Count++; + } + } +} \ No newline at end of file diff --git a/src/Showcase/Views/MixedSamples.xaml b/src/Showcase/Views/MixedSamples.xaml index 0910aa36..74df3470 100644 --- a/src/Showcase/Views/MixedSamples.xaml +++ b/src/Showcase/Views/MixedSamples.xaml @@ -595,6 +595,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Showcase/Views/TreeViewSamples.xaml b/src/Showcase/Views/TreeViewSamples.xaml index cdebc58d..c41a8660 100644 --- a/src/Showcase/Views/TreeViewSamples.xaml +++ b/src/Showcase/Views/TreeViewSamples.xaml @@ -33,7 +33,7 @@ - + From 4da706bd28681f13d566f56fb8398acb7c3e6263 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rnar=20Sundsb=C3=B8?= Date: Thu, 21 Mar 2024 13:40:48 +0100 Subject: [PATCH 08/16] handling invalid size --- src/GongSolutions.WPF.DragDrop/DropTargetHintAdorner.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/GongSolutions.WPF.DragDrop/DropTargetHintAdorner.cs b/src/GongSolutions.WPF.DragDrop/DropTargetHintAdorner.cs index 8d1525a2..eceb4aab 100644 --- a/src/GongSolutions.WPF.DragDrop/DropTargetHintAdorner.cs +++ b/src/GongSolutions.WPF.DragDrop/DropTargetHintAdorner.cs @@ -51,7 +51,8 @@ protected override void OnRender(DrawingContext drawingContext) translatePoint.Offset(1, 1); var width = Math.Max(visualTarget.RenderSize.Width, 2) - 2; var height = Math.Max(visualTarget.RenderSize.Width, 2) - 2; - var bounds = new Rect(translatePoint, new Size(width - 2, height)); + + var bounds = new Rect(translatePoint, new Size(width, height)); drawingContext.DrawRectangle(this.Background, this.Pen, bounds); } } From 82cd8e789a0fc974b54da6480fbf9b85655619d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rnar=20Sundsb=C3=B8?= Date: Tue, 26 Mar 2024 13:36:49 +0100 Subject: [PATCH 09/16] Implemented drop hints --- .../DefaultDropHandler.cs | 14 +- src/GongSolutions.WPF.DragDrop/DragDrop.cs | 31 ++- .../DropHintData.cs | 24 +++ .../DropHintHelpers.cs | 186 +++++++++++------- .../DropHintInfo.cs | 10 +- .../DropHintState.cs | 20 ++ src/GongSolutions.WPF.DragDrop/DropInfo.cs | 6 + .../DropTargetHintAdorner.cs | 125 +++++++----- .../DropTargetHintWeakReference.cs | 44 +++++ .../IDropHintInfo.cs | 17 +- src/GongSolutions.WPF.DragDrop/IDropInfo.cs | 10 + src/GongSolutions.WPF.DragDrop/IDropTarget.cs | 7 - src/Showcase/Models/CustomDropHintHandler.cs | 93 +++++++++ src/Showcase/Models/DestinationModel.cs | 31 --- src/Showcase/Models/HintDropTarget.cs | 40 ---- src/Showcase/Models/SampleData.cs | 6 +- .../Models/SpecializedDropHintTarget.cs | 77 -------- src/Showcase/Views/MixedSamples.xaml | 134 ++++++------- 18 files changed, 494 insertions(+), 381 deletions(-) create mode 100644 src/GongSolutions.WPF.DragDrop/DropHintData.cs create mode 100644 src/GongSolutions.WPF.DragDrop/DropHintState.cs create mode 100644 src/GongSolutions.WPF.DragDrop/DropTargetHintWeakReference.cs create mode 100644 src/Showcase/Models/CustomDropHintHandler.cs delete mode 100644 src/Showcase/Models/DestinationModel.cs delete mode 100644 src/Showcase/Models/HintDropTarget.cs delete mode 100644 src/Showcase/Models/SpecializedDropHintTarget.cs diff --git a/src/GongSolutions.WPF.DragDrop/DefaultDropHandler.cs b/src/GongSolutions.WPF.DragDrop/DefaultDropHandler.cs index 1d4547a4..ab0a9ccc 100644 --- a/src/GongSolutions.WPF.DragDrop/DefaultDropHandler.cs +++ b/src/GongSolutions.WPF.DragDrop/DefaultDropHandler.cs @@ -232,11 +232,6 @@ public virtual void DropHint(IDropHintInfo dropHintInfo) dropHintInfo.DropTargetHintAdorner = DropTargetAdorners.Hint; } - public virtual void DropHintOver(IDropHintInfo dropHintInfo) - { - dropHintInfo.DropTargetHintAdorner = DropTargetAdorners.Hint; - } - #if !NETCOREAPP3_1_OR_GREATER /// public void DragEnter(IDropInfo dropInfo) @@ -254,6 +249,15 @@ public virtual void DragOver(IDropInfo dropInfo) dropInfo.Effects = copyData ? DragDropEffects.Copy : DragDropEffects.Move; var isTreeViewItem = dropInfo.InsertPosition.HasFlag(RelativeInsertPosition.TargetItemCenter) && dropInfo.VisualTargetItem is TreeViewItem; dropInfo.DropTargetAdorner = isTreeViewItem ? DropTargetAdorners.Highlight : DropTargetAdorners.Insert; + + dropInfo.DropTargetHintState = DropHintState.Active; + dropInfo.DropTargetHintAdorner = DropTargetAdorners.Hint; + } + else + { + dropInfo.Effects = DragDropEffects.None; + dropInfo.DropTargetHintAdorner = DropTargetAdorners.Hint; + dropInfo.DropTargetHintState = DropHintState.Error; } } diff --git a/src/GongSolutions.WPF.DragDrop/DragDrop.cs b/src/GongSolutions.WPF.DragDrop/DragDrop.cs index ba65e74e..19261e88 100644 --- a/src/GongSolutions.WPF.DragDrop/DragDrop.cs +++ b/src/GongSolutions.WPF.DragDrop/DragDrop.cs @@ -14,6 +14,21 @@ namespace GongSolutions.Wpf.DragDrop { public static partial class DragDrop { + /// + /// Get the for the drop hint, or return the default template if not set. + /// + /// + /// + internal static DataTemplate TryGetDropHintDataTemplate(UIElement sender) + { + if (sender == null) + { + return null; + } + + return GetDropHintDataTemplate(sender) ?? DropHintHelpers.GetDefaultDropHintTemplate(); + } + /// /// Gets the drag handler from the drag info or from the sender, if the drag info is null /// @@ -650,7 +665,7 @@ private static void DoDragSourceMove(object sender, Func g } }); - DropHintHelpers.ShowDropHintAdorners(dragInfo); + DropHintHelpers.OnDragStart(dragInfo); var dragDropHandler = dragInfo.DragDropHandler ?? System.Windows.DragDrop.DoDragDrop; var dragDropEffects = dragDropHandler(dragInfo.VisualSource, dataObject, dragInfo.Effects); if (dragDropEffects == DragDropEffects.None) @@ -658,7 +673,7 @@ private static void DoDragSourceMove(object sender, Func g dragHandler.DragCancelled(); } - DropHintHelpers.HideDropHintAdorners(); + DropHintHelpers.OnDropFinished(); dragHandler.DragDropOperationFinished(dragDropEffects, dragInfo); } catch (Exception ex) @@ -687,7 +702,7 @@ private static void DragSourceOnQueryContinueDrag(object sender, QueryContinueDr DragDropPreview = null; DragDropEffectPreview = null; DropTargetAdorner = null; - DropHintHelpers.HideDropHintAdorners(); + DropHintHelpers.OnDropFinished(); Mouse.OverrideCursor = null; } } @@ -725,7 +740,10 @@ private static void OnRealTargetDragLeave(object sender, DragEventArgs e) if(dropHandler != null) { dropHandler.DragLeave(dropInfo); - DropHintHelpers.OnDropHintLeave(dropHandler, dragInfo, dropInfo, sender); + if(_dragInProgress) + { + DropHintHelpers.OnDragLeave(sender, dropHandler, dragInfo); + } } DragDropEffectPreview = null; @@ -771,7 +789,7 @@ private static void DropTargetOnDragOver(object sender, DragEventArgs e, EventTy } dropHandler.DragOver(dropInfo); - DropHintHelpers.OnDropHintEnter(dropHandler, dragInfo, dropInfo, sender); + DropHintHelpers.DragOver(sender, dropInfo); if (dragInfo is not null) { @@ -915,7 +933,7 @@ private static void DropTargetOnDrop(object sender, DragEventArgs e, EventType e DragDropPreview = null; DragDropEffectPreview = null; DropTargetAdorner = null; - + DropHintHelpers.OnDropFinished(); dropHandler.DragOver(dropInfo); if (itemsSorter != null && dropInfo.Data is IEnumerable enumerable and not string) @@ -925,7 +943,6 @@ private static void DropTargetOnDrop(object sender, DragEventArgs e, EventType e dropHandler.Drop(dropInfo); dragHandler.Dropped(dropInfo); - e.Effects = dropInfo.Effects; e.Handled = !dropInfo.NotHandled; diff --git a/src/GongSolutions.WPF.DragDrop/DropHintData.cs b/src/GongSolutions.WPF.DragDrop/DropHintData.cs new file mode 100644 index 00000000..6471d183 --- /dev/null +++ b/src/GongSolutions.WPF.DragDrop/DropHintData.cs @@ -0,0 +1,24 @@ +namespace GongSolutions.Wpf.DragDrop; + +/// +/// Data presented in drop hint adorner. +/// +public class DropHintData +{ + public DropHintData(DropHintState hintState, string hintText) + { + this.HintState = hintState; + this.HintText = hintText; + } + + /// + /// The hint text to display to the user. See + /// and . + /// + public string HintText { get; set; } + /// + /// The hint state to display different colors for hints. See + /// and . + /// + public DropHintState HintState { get; set; } +} \ No newline at end of file diff --git a/src/GongSolutions.WPF.DragDrop/DropHintHelpers.cs b/src/GongSolutions.WPF.DragDrop/DropHintHelpers.cs index f72444f5..62d4a707 100644 --- a/src/GongSolutions.WPF.DragDrop/DropHintHelpers.cs +++ b/src/GongSolutions.WPF.DragDrop/DropHintHelpers.cs @@ -3,13 +3,17 @@ using System; using System.Collections.Generic; using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Media; +using JetBrains.Annotations; /// /// Helper methods to assist with drop hints, used through . /// internal static class DropHintHelpers { - private static readonly List _dropTargetHintWrappers = new(); + private static readonly List _dropTargetHintReferences = new(); /// /// Add reference to drop target so we can show hint when drag operation start. @@ -17,17 +21,17 @@ internal static class DropHintHelpers /// public static void AddDropHintTarget(UIElement dropTarget) { - _dropTargetHintWrappers.Add(new DropTargetHintWrapper(dropTarget)); + _dropTargetHintReferences.Add(new DropTargetHintWeakReference(dropTarget)); CleanDeadwood(); } /// - /// Remove reference to drop target, to avoid memory leaks. + /// Remove reference to drop target. /// /// public static void RemoveDropHintTarget(UIElement dropTarget) { - _dropTargetHintWrappers.RemoveAll(m => m.Target == dropTarget); + _dropTargetHintReferences.RemoveAll(m => m.Target == dropTarget); CleanDeadwood(); } @@ -35,81 +39,104 @@ public static void RemoveDropHintTarget(UIElement dropTarget) /// Show all available drop hints. /// /// - public static void ShowDropHintAdorners(DragInfo dragInfo) + public static void OnDragStart(IDragInfo dragInfo) { CleanDeadwood(); var visibleTargets = GetVisibleTargets(); - foreach (var wrapper in visibleTargets) + foreach (var weakReference in visibleTargets) { - var sender = wrapper.Target; + var sender = weakReference.Target; var handler = DragDrop.TryGetDropHandler(null, sender); if (handler != null) { var dropHintInfo = new DropHintInfo(dragInfo); handler.DropHint(dropHintInfo); - UpdateHint(dropHintInfo, wrapper); + UpdateHintAdorner(weakReference, + dropHintInfo.DropTargetHintAdorner, + new DropHintData(dropHintInfo.DropTargetHintState, dropHintInfo.DropHintText)); } } } /// - /// Update drop hint for the current element. + /// Clears all hint adorner from all drop targets when drag operation is finished. /// - /// - /// - /// - /// - public static void OnDropHintLeave(IDropTarget dropHandler, DragInfo dragInfo, IDropInfo dropInfo, object sender) + public static void OnDropFinished() { - var wrapper = _dropTargetHintWrappers.Find(m => m.Target == sender); + CleanDeadwood(); + foreach (var target in _dropTargetHintReferences) + { + target.DropTargetHintAdorner = null; + } + } + + /// + /// Update drop hint for the current element when drag leaves a drop target. + /// + /// The for the operation + /// The initiating the drag + /// The target element of the drag + public static void OnDragLeave(object sender, IDropTarget dropHandler, IDragInfo dragInfo) + { + var wrapper = _dropTargetHintReferences.Find(m => m.Target == sender); if (wrapper != null) { - var dropHintInfo = new DropHintInfo(dragInfo, dropInfo); + var dropHintInfo = new DropHintInfo(dragInfo); dropHandler.DropHint(dropHintInfo); - UpdateHint(dropHintInfo, wrapper); + UpdateHintAdorner(wrapper, dropHintInfo.DropTargetHintAdorner, new DropHintData(dropHintInfo.DropTargetHintState, dropHintInfo.DropHintText)); } } /// /// Update drop hint for the current element. /// - /// - /// /// /// - public static void OnDropHintEnter(IDropTarget dropHandler, DragInfo dragInfo, IDropInfo dropInfo, object sender) + public static void DragOver(object sender, IDropInfo dropInfo) { - var wrapper = _dropTargetHintWrappers.Find(m => m.Target == sender); + var wrapper = _dropTargetHintReferences.Find(m => m.Target == sender); if (wrapper != null) { - var dropHintInfo = new DropHintInfo(dragInfo, dropInfo); - dropHandler.DropHintOver(dropHintInfo); - UpdateHint(dropHintInfo, wrapper); + UpdateHintAdorner(wrapper, dropInfo.DropTargetHintAdorner, new DropHintData(dropInfo.DropTargetHintState, dropInfo.DropHintText)); } } - private static void UpdateHint(IDropHintInfo dropHintInfo, DropTargetHintWrapper wrapper) + private static void UpdateHintAdorner(DropTargetHintWeakReference weakReference, [CanBeNull] Type adornerType, DropHintData hintData) { - var dataTemplate = DragDrop.GetDropHintDataTemplate(wrapper.Target); - if (dropHintInfo.DropTargetHintAdorner == null) + if (adornerType == null) { - wrapper.DropTargetHintAdorner = null; + // Discard existing adorner as new parameter is not set + weakReference.DropTargetHintAdorner = null; + return; } - if (dropHintInfo.DropTargetHintAdorner != null && dropHintInfo.DropTargetHintAdorner.IsAssignableTo(typeof(DropTargetHintAdorner))) + if (adornerType.IsAssignableTo(typeof(DropTargetHintAdorner))) { - wrapper.DropTargetHintAdorner = DropTargetHintAdorner.CreateHintAdorner(dropHintInfo.DropTargetHintAdorner, wrapper.Target, dropHintInfo, dataTemplate); + if (weakReference.DropTargetHintAdorner != null && weakReference.DropTargetHintAdorner.GetType() != adornerType) + { + // Type has changed, so we need to remove the old adorner. + weakReference.DropTargetHintAdorner = null; + } + + if (weakReference.DropTargetHintAdorner == null) + { + // Create new adorner if it does not exist. + var dataTemplate = DragDrop.TryGetDropHintDataTemplate(weakReference.Target); + weakReference.DropTargetHintAdorner = DropTargetHintAdorner.CreateHintAdorner(adornerType, weakReference.Target, dataTemplate, hintData); + } } + + weakReference.DropTargetHintAdorner?.Update(hintData); } /// /// Helper method for getting available hint drop targets. /// /// - private static List GetVisibleTargets() + private static List GetVisibleTargets() { - return _dropTargetHintWrappers.FindAll(m => m.Target?.IsVisible == true && DragDrop.GetIsDropTarget(m.Target)); + return _dropTargetHintReferences.FindAll(m => m.Target?.IsVisible == true && DragDrop.GetIsDropTarget(m.Target)); } /// @@ -117,52 +144,63 @@ private static List GetVisibleTargets() /// private static void CleanDeadwood() { - _dropTargetHintWrappers.RemoveAll((m => !m.IsAlive)); - } - - public static void HideDropHintAdorners() - { - CleanDeadwood(); - foreach (var target in _dropTargetHintWrappers) - { - target.DropTargetHintAdorner = null; - } + _dropTargetHintReferences.RemoveAll((m => !m.IsAlive)); } -} - -/// -/// Wrapper of the so we only have weak references to the drop targets -/// to avoid memory leaks. -/// -internal sealed class DropTargetHintWrapper : IDisposable -{ - private readonly WeakReference _dropTarget; - private DropTargetHintAdorner dropTargetHintAdorner; - - public DropTargetHintWrapper(UIElement dropTarget) - { - _dropTarget = new WeakReference(dropTarget); - } - - public UIElement Target => _dropTarget.TryGetTarget(out var target) ? target : null; /// - /// Property indicating if the weak reference is still alive, or should be disposed of. + /// Get the default drop hint template if none other has been provided. /// - public bool IsAlive => _dropTarget.TryGetTarget(out _); - - public DropTargetHintAdorner DropTargetHintAdorner - { - get => this.dropTargetHintAdorner; - set - { - this.dropTargetHintAdorner?.Detatch(); - this.dropTargetHintAdorner = value; - } - } - - public void Dispose() + /// + public static DataTemplate GetDefaultDropHintTemplate() { - this.DropTargetHintAdorner = null; + var rootBorderName = "RootBorder"; + var backgroundBrush = new SolidColorBrush(SystemColors.HighlightColor) { Opacity = 0.3 }; + backgroundBrush.Freeze(); + var activeBackgroundBrush = new SolidColorBrush(SystemColors.HighlightColor) { Opacity = 0.5 }; + activeBackgroundBrush.Freeze(); + var errorBackgroundBrush = new SolidColorBrush(Colors.DarkRed) { Opacity = 0.3 }; + errorBackgroundBrush.Freeze(); + + var template = new DataTemplate(); + + var hintStateBinding = new Binding(nameof(DropHintData.HintState)); + var activeSetter = new Setter + { + Property = Border.BackgroundProperty, + TargetName = rootBorderName, + Value = activeBackgroundBrush + }; + var errorSetter = new Setter + { + Property = Border.BackgroundProperty, + TargetName = rootBorderName, + Value = errorBackgroundBrush + }; + + template.Triggers.Add(new DataTrigger { Binding = hintStateBinding, Value = DropHintState.Active, Setters = { activeSetter } }); + template.Triggers.Add(new DataTrigger { Binding = hintStateBinding, Value = DropHintState.Error, Setters = { errorSetter } }); + + var textBlockFactory = new FrameworkElementFactory(typeof(TextBlock)); + textBlockFactory.SetValue(TextBlock.TextProperty, new Binding(nameof(DropHintData.HintText))); + textBlockFactory.SetValue(TextBlock.TextWrappingProperty, TextWrapping.Wrap); + textBlockFactory.SetValue(FrameworkElement.HorizontalAlignmentProperty, HorizontalAlignment.Center); + textBlockFactory.SetValue(FrameworkElement.VerticalAlignmentProperty, VerticalAlignment.Center); + + // Create a Border factory + var borderFactory = new FrameworkElementFactory(typeof(Border)) + { + Name = rootBorderName + }; + borderFactory.SetValue(Border.BorderBrushProperty, Brushes.CornflowerBlue); + borderFactory.SetValue(Border.BorderThicknessProperty, new Thickness(2)); + borderFactory.SetValue(Border.BackgroundProperty, backgroundBrush); + + // Set the TextBlock as the child of the Border + borderFactory.AppendChild(textBlockFactory); + + // Set the Border as the root of the visual tree + template.VisualTree = borderFactory; + + return template; } } \ No newline at end of file diff --git a/src/GongSolutions.WPF.DragDrop/DropHintInfo.cs b/src/GongSolutions.WPF.DragDrop/DropHintInfo.cs index aecc2d89..cb8d7394 100644 --- a/src/GongSolutions.WPF.DragDrop/DropHintInfo.cs +++ b/src/GongSolutions.WPF.DragDrop/DropHintInfo.cs @@ -9,18 +9,18 @@ public class DropHintInfo : IDropHintInfo { /// public IDragInfo DragInfo { get; } - /// - public IDropInfo DropInfo { get; } /// public Type DropTargetHintAdorner { get; set; } /// - public string DestinationText { get; set; } + public string DropHintText { get; set; } + + /// + public DropHintState DropTargetHintState { get; set; } - public DropHintInfo(IDragInfo dragInfo, IDropInfo dropInfo = null) + public DropHintInfo(IDragInfo dragInfo) { this.DragInfo = dragInfo; - this.DropInfo = dropInfo; } } \ No newline at end of file diff --git a/src/GongSolutions.WPF.DragDrop/DropHintState.cs b/src/GongSolutions.WPF.DragDrop/DropHintState.cs new file mode 100644 index 00000000..da96a67f --- /dev/null +++ b/src/GongSolutions.WPF.DragDrop/DropHintState.cs @@ -0,0 +1,20 @@ +namespace GongSolutions.Wpf.DragDrop; + +/// +/// Represents the mode of the drop hint to display different adorner based on the state of the hint. +/// +public enum DropHintState +{ + /// + /// Default hint state, indicating that a drop target is available for drop. + /// + None, + /// + /// Highlights the target, such as on drag over. + /// + Active, + /// + /// Warning state, indicating that the drop target is not available for drop. + /// + Error +} \ No newline at end of file diff --git a/src/GongSolutions.WPF.DragDrop/DropInfo.cs b/src/GongSolutions.WPF.DragDrop/DropInfo.cs index 8bbcadcb..fcfd047e 100644 --- a/src/GongSolutions.WPF.DragDrop/DropInfo.cs +++ b/src/GongSolutions.WPF.DragDrop/DropInfo.cs @@ -38,6 +38,12 @@ public class DropInfo : IDropInfo /// public Type DropTargetHintAdorner { get; set; } + /// + public DropHintState DropTargetHintState { get; set; } + + /// + public string DropHintText { get; set; } + /// public DragDropEffects Effects { get; set; } diff --git a/src/GongSolutions.WPF.DragDrop/DropTargetHintAdorner.cs b/src/GongSolutions.WPF.DragDrop/DropTargetHintAdorner.cs index eceb4aab..e055fd80 100644 --- a/src/GongSolutions.WPF.DragDrop/DropTargetHintAdorner.cs +++ b/src/GongSolutions.WPF.DragDrop/DropTargetHintAdorner.cs @@ -3,61 +3,70 @@ namespace GongSolutions.Wpf.DragDrop; using System; using System.Windows; using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; using System.Windows.Media; /// /// This adorner is used to display hints for where items can be dropped. /// -public class DropTargetHintAdorner : DropTargetHighlightAdorner +public class DropTargetHintAdorner : Adorner { - private readonly IDropHintInfo _dropHintInfo; - private readonly ContentPresenter _presenter; + private readonly ContentPresenter m_Presenter; + private readonly AdornerLayer m_AdornerLayer; - public DropTargetHintAdorner(UIElement adornedElement, - IDropHintInfo dropHintInfo, - DataTemplate dataTemplate) - : base(adornedElement, dropHintInfo.DropInfo) - { - - Pen = new Pen(Brushes.Green, 0.3); - Background = new SolidColorBrush(Colors.Green) { Opacity = 0.5 }; - - _dropHintInfo = dropHintInfo; - - // Not showing hint when no data template is provided - _presenter = dataTemplate == null ? new ContentPresenter() : - new ContentPresenter - { - Content = dropHintInfo.DestinationText, - ContentTemplate = dataTemplate - }; - - if(dataTemplate != null) - { - Background = new SolidColorBrush(Colors.Transparent); - Pen = new Pen(new SolidColorBrush(Colors.Transparent), 0.5); - } + public static readonly DependencyProperty DropHintDataProperty = DependencyProperty.Register( + nameof(DropHintData), typeof(DropHintData), typeof(DropTargetHintAdorner), new PropertyMetadata(default(DropHintData))); - Background.Freeze(); - Pen.Freeze(); + public DropHintData DropHintData + { + get => (DropHintData)GetValue(DropHintDataProperty); + set => SetValue(DropHintDataProperty, value); } - /// - protected override void OnRender(DrawingContext drawingContext) + public DropTargetHintAdorner(UIElement adornedElement, + DataTemplate dataTemplate, + DropHintData dropHintData) + : base(adornedElement) { - if (this.AdornedElement is UIElement visualTarget) - { - var translatePoint = visualTarget.TranslatePoint(new Point(), this.AdornedElement); - translatePoint.Offset(1, 1); - var width = Math.Max(visualTarget.RenderSize.Width, 2) - 2; - var height = Math.Max(visualTarget.RenderSize.Width, 2) - 2; + SetCurrentValue(DropHintDataProperty, dropHintData); + this.IsHitTestVisible = false; + this.AllowDrop = false; + this.SnapsToDevicePixels = true; + this.m_AdornerLayer = AdornerLayer.GetAdornerLayer(adornedElement); + this.m_AdornerLayer?.Add(this); + + this.m_Presenter = new ContentPresenter() + { + IsHitTestVisible = false, + ContentTemplate = dataTemplate + }; + var binding = new Binding(nameof(DropHintData)) + { + Source = this, + Mode = BindingMode.OneWay + }; + this.m_Presenter.SetBinding(ContentPresenter.ContentProperty, binding); + } - var bounds = new Rect(translatePoint, new Size(width, height)); - drawingContext.DrawRectangle(this.Background, this.Pen, bounds); - } + /// + /// Detach the adorner from it's adorner layer. + /// + public void Detatch() + { + this.m_AdornerLayer?.Remove(this); } - internal static DropTargetHintAdorner CreateHintAdorner(Type type, UIElement adornedElement, IDropHintInfo dropHintInfo, DataTemplate dataTemplate) + /// + /// Construct a new drop hint target adorner. + /// + /// + /// + /// + /// + /// + /// + internal static DropTargetHintAdorner CreateHintAdorner(Type type, UIElement adornedElement, DataTemplate dataTemplate, DropHintData hintData) { if (!typeof(DropTargetHintAdorner).IsAssignableFrom(type)) { @@ -67,13 +76,15 @@ internal static DropTargetHintAdorner CreateHintAdorner(Type type, UIElement ado return type.GetConstructor(new[] { typeof(UIElement), - typeof(DropHintInfo), - typeof(DataTemplate) + typeof(DataTemplate), + typeof(DropHintData) }) ?.Invoke(new object[] - { adornedElement, - dropHintInfo, - dataTemplate}) + { + adornedElement, + dataTemplate, + hintData + }) as DropTargetHintAdorner; } @@ -86,20 +97,20 @@ private static Rect GetBounds(FrameworkElement element, UIElement visual) protected override Size MeasureOverride(Size constraint) { - _presenter.Measure(constraint); - return _presenter.DesiredSize; + this.m_Presenter.Measure(constraint); + return this.m_Presenter.DesiredSize; } protected override Size ArrangeOverride(Size finalSize) { var bounds = GetBounds(AdornedElement as FrameworkElement, AdornedElement); - _presenter.Arrange(bounds); + this.m_Presenter.Arrange(bounds); return bounds.Size; } protected override Visual GetVisualChild(int index) { - return _presenter; + return this.m_Presenter; } protected override int VisualChildrenCount @@ -107,8 +118,18 @@ protected override int VisualChildrenCount get { return 1; } } - public ContentPresenter Presenter + /// + /// Update hint text and state for the adorner. + /// + /// + public void Update(DropHintData hintData) { - get { return _presenter; } + var currentData = DropHintData; + bool requiresUpdate = (hintData?.HintState != currentData?.HintState || hintData?.HintText != currentData?.HintText); + SetCurrentValue(DropHintDataProperty, hintData); + if(requiresUpdate) + { + this.m_AdornerLayer.Update(); + } } } \ No newline at end of file diff --git a/src/GongSolutions.WPF.DragDrop/DropTargetHintWeakReference.cs b/src/GongSolutions.WPF.DragDrop/DropTargetHintWeakReference.cs new file mode 100644 index 00000000..76e3de1a --- /dev/null +++ b/src/GongSolutions.WPF.DragDrop/DropTargetHintWeakReference.cs @@ -0,0 +1,44 @@ +namespace GongSolutions.Wpf.DragDrop; + +using System; +using System.Windows; + +/// +/// Wrapper of the so we only have weak references to the drop targets +/// to avoid memory leaks. +/// +internal sealed class DropTargetHintWeakReference : IDisposable +{ + private readonly WeakReference _dropTarget; + private DropTargetHintAdorner dropTargetHintAdorner; + + public DropTargetHintWeakReference(UIElement dropTarget) + { + this._dropTarget = new WeakReference(dropTarget); + } + + public UIElement Target => this._dropTarget.TryGetTarget(out var target) ? target : null; + + /// + /// Property indicating if the weak reference is still alive, or should be disposed of. + /// + public bool IsAlive => this._dropTarget.TryGetTarget(out _); + + /// + /// The current adorner for the drop target. + /// + public DropTargetHintAdorner DropTargetHintAdorner + { + get => this.dropTargetHintAdorner; + set + { + this.dropTargetHintAdorner?.Detatch(); + this.dropTargetHintAdorner = value; + } + } + + public void Dispose() + { + this.DropTargetHintAdorner = null; + } +} \ No newline at end of file diff --git a/src/GongSolutions.WPF.DragDrop/IDropHintInfo.cs b/src/GongSolutions.WPF.DragDrop/IDropHintInfo.cs index 15f0eabe..ab3905b4 100644 --- a/src/GongSolutions.WPF.DragDrop/IDropHintInfo.cs +++ b/src/GongSolutions.WPF.DragDrop/IDropHintInfo.cs @@ -13,10 +13,6 @@ public interface IDropHintInfo /// if the drag came from within the framework. /// IDragInfo DragInfo { get; } - /// - /// Get the drop info holding information about the current drag state. - /// - IDropInfo DropInfo { get; } /// /// Gets or sets the class of drop target hint to display. @@ -27,5 +23,16 @@ public interface IDropHintInfo /// Type DropTargetHintAdorner { get; set; } - string DestinationText { get; set; } + /// + /// Get or set the text that is displayed when initial drop hint is displayed. + /// + /// + /// This corresponds to in + /// and . + /// + string DropHintText { get; set; } + /// + /// The hint state to display different colors for hints. + /// + DropHintState DropTargetHintState { get; set; } } \ No newline at end of file diff --git a/src/GongSolutions.WPF.DragDrop/IDropInfo.cs b/src/GongSolutions.WPF.DragDrop/IDropInfo.cs index 9073e1d8..0f673021 100644 --- a/src/GongSolutions.WPF.DragDrop/IDropInfo.cs +++ b/src/GongSolutions.WPF.DragDrop/IDropInfo.cs @@ -48,6 +48,16 @@ public interface IDropInfo /// Type DropTargetHintAdorner { get; set; } + /// + /// The hint state to display different colors for hints. + /// + DropHintState DropTargetHintState { get; set; } + + /// + /// Get or set the text that is displayed when the drop hint is displayed. + /// + string DropHintText { get; set; } + /// /// Gets or sets the allowed effects for the drop. /// diff --git a/src/GongSolutions.WPF.DragDrop/IDropTarget.cs b/src/GongSolutions.WPF.DragDrop/IDropTarget.cs index 32980af8..8994d324 100644 --- a/src/GongSolutions.WPF.DragDrop/IDropTarget.cs +++ b/src/GongSolutions.WPF.DragDrop/IDropTarget.cs @@ -16,15 +16,8 @@ void DropHint(IDropHintInfo dropHintInfo) { // nothing here } - - void DropHintOver(IDropHintInfo dropHintInfo) - { - // nothing here - } #else void DropHint(IDropHintInfo dropHintInfo); - - void DropHintOver(IDropHintInfo dropHintInfo); #endif /// diff --git a/src/Showcase/Models/CustomDropHintHandler.cs b/src/Showcase/Models/CustomDropHintHandler.cs new file mode 100644 index 00000000..bcf8d784 --- /dev/null +++ b/src/Showcase/Models/CustomDropHintHandler.cs @@ -0,0 +1,93 @@ +namespace Showcase.WPF.DragDrop.Models; + +using System.Linq; +using System.Windows; +using GongSolutions.Wpf.DragDrop; + +public class CustomDropHintHandler : DefaultDropHandler +{ + /// + /// When false, will set red border and hint text to "Drop not allowed for this element" + /// + public bool IsDropAllowed { get; set; } = true; + public bool BlockOdd { get; set; } + + /// + /// Do not display active hint on mouse over. + /// + public bool IsActiveHintDisabled { get; set; } + + public override void DropHint(IDropHintInfo dropHintInfo) + { + if (!this.CanAccept(dropHintInfo.DragInfo)) + { + return; + } + + if (!this.IsDropAllowed) + { + dropHintInfo.DropTargetHintAdorner = DropTargetAdorners.Hint; + dropHintInfo.DropTargetHintState = DropHintState.Error; + dropHintInfo.DropHintText = "Drop not allowed for this element"; + } + else + { + dropHintInfo.DropHintText = "Drop data here"; + dropHintInfo.DropTargetHintAdorner = typeof(DropTargetHintAdorner); + } + } + + public override void DragOver(IDropInfo dropInfo) + { + if (!this.CanAccept(dropInfo.DragInfo)) + { + return; + } + + if (!IsDropAllowed) + { + dropInfo.DropTargetHintAdorner = DropTargetAdorners.Hint; + dropInfo.DropTargetHintState = DropHintState.Error; + dropInfo.DropHintText = "Drop not allowed for this element"; + return; + } + + if (BlockOdd && dropInfo.DragInfo.SourceItem is ItemModel item && item.Index % 2 != 0) + { + dropInfo.DropTargetHintAdorner = DropTargetAdorners.Hint; + dropInfo.DropTargetHintState = DropHintState.Error; + dropInfo.DropHintText = "Only items with even index is allowed"; + dropInfo.Effects = DragDropEffects.None; + return; + } + + var copyData = ShouldCopyData(dropInfo); + + dropInfo.Effects = copyData ? DragDropEffects.Copy : DragDropEffects.Move; + dropInfo.DropTargetAdorner = DropTargetAdorners.Highlight; + dropInfo.EffectText = "Send"; + if(IsActiveHintDisabled) + { + // No drag over hint + return; + } + + dropInfo.DropTargetHintAdorner = DropTargetAdorners.Hint; + dropInfo.DropHintText = $"Dropping {(dropInfo.DragInfo.SourceItem as ItemModel)?.Caption} on {(dropInfo.TargetItem as ItemModel)?.Caption}"; + dropInfo.DropTargetHintState = DropHintState.Active; + } + + + private bool CanAccept(IDragInfo dragInfo) + { + if (dragInfo == null) + { + return false; + } + + var items = ExtractData(dragInfo.Data) + .OfType() + .ToList(); + return items.Count > 0; + } +} \ No newline at end of file diff --git a/src/Showcase/Models/DestinationModel.cs b/src/Showcase/Models/DestinationModel.cs deleted file mode 100644 index 7f79b91d..00000000 --- a/src/Showcase/Models/DestinationModel.cs +++ /dev/null @@ -1,31 +0,0 @@ -namespace Showcase.WPF.DragDrop.Models; - -using System.ComponentModel; -using System.Runtime.CompilerServices; -using JetBrains.Annotations; - -public class DestinationModel : INotifyPropertyChanged -{ - public string Name { get; set; } - - private int count; - - public int Count - { - get => this.count; - set - { - if (value == this.count) return; - this.count = value; - this.OnPropertyChanged(); - } - } - - public event PropertyChangedEventHandler PropertyChanged; - - [NotifyPropertyChangedInvocator] - protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) - { - this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); - } -} \ No newline at end of file diff --git a/src/Showcase/Models/HintDropTarget.cs b/src/Showcase/Models/HintDropTarget.cs deleted file mode 100644 index df2f9bbf..00000000 --- a/src/Showcase/Models/HintDropTarget.cs +++ /dev/null @@ -1,40 +0,0 @@ -namespace Showcase.WPF.DragDrop.Models; - -using System.Collections.Generic; -using System.Linq; -using GongSolutions.Wpf.DragDrop; - -/// -/// Drop target displaying hint about the item dropped. -/// -public class HintDropTarget : DefaultDropHandler -{ - public override void DropHintOver(IDropHintInfo dropHintInfo) - { - DropHint(dropHintInfo); - } - - public override void DropHint(IDropHintInfo dropHintInfo) - { - var items = GetData(dropHintInfo); - if(items.Count > 1) - { - dropHintInfo.DestinationText = $"Drop {items.Count} items"; - } - else if(items.Count == 1) - { - var item = items[0]; - dropHintInfo.DestinationText = item.Index % 2 == 0 ? "Drop even" : "Drop odd"; - } - - dropHintInfo.DropTargetHintAdorner = typeof(DropTargetHintAdorner); - } - - private static List GetData(IDropHintInfo dropHintInfo) - { - var items = ExtractData(dropHintInfo.DragInfo?.Data) - .OfType() - .ToList(); - return items; - } -} \ No newline at end of file diff --git a/src/Showcase/Models/SampleData.cs b/src/Showcase/Models/SampleData.cs index 70089cd4..36dfddaa 100644 --- a/src/Showcase/Models/SampleData.cs +++ b/src/Showcase/Models/SampleData.cs @@ -21,7 +21,6 @@ public SampleData() for (var n = 0; n < 10; ++n) { this.Collection4.Add(new ItemModel() { Caption = $"Model {n + 1}" }); - this.DestinationCollection.Add(new DestinationModel { Name = $"Destination {n + 1}" }); } for (var g = 0; g < 4; ++g) @@ -58,8 +57,6 @@ public SampleData() this.TabItemCollection2.Add(new TabItemModel(1)); } - public ObservableCollection DestinationCollection { get; } = new ObservableCollection(); - public ObservableCollection SerializableCollection1 { get; set; } = new ObservableCollection(); public ObservableCollection SerializableCollection2 { get; set; } = new ObservableCollection(); @@ -108,7 +105,6 @@ public SampleData() public IDropTarget NestedDropHandler { get; set; } = new NestedDropHandler(); - public IDropTarget HintDropTarget { get; set; } = new HintDropTarget(); - public IDropTarget SpecializedDropHintTarget { get; set; } = new SpecializedDropHintTarget(); + public CustomDropHintHandler CustomDropHintHandler { get; set; } = new CustomDropHintHandler(); } } \ No newline at end of file diff --git a/src/Showcase/Models/SpecializedDropHintTarget.cs b/src/Showcase/Models/SpecializedDropHintTarget.cs deleted file mode 100644 index e6821dfa..00000000 --- a/src/Showcase/Models/SpecializedDropHintTarget.cs +++ /dev/null @@ -1,77 +0,0 @@ -namespace Showcase.WPF.DragDrop.Models; - -using System.Linq; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Media; -using GongSolutions.Wpf.DragDrop; - -public class SpecializedDropErrorAdorner : DropTargetHintAdorner -{ - public SpecializedDropErrorAdorner(UIElement adornedElement, IDropHintInfo dropHintInfo, DataTemplate dataTemplate) - : base(adornedElement, dropHintInfo, null) - { - Background = new SolidColorBrush(Colors.DarkRed) { Opacity = 0.3 }; - Pen = new Pen(Brushes.DarkRed, 0.5); - Background.Freeze(); - } -} - -public class SpecializedDropHintTarget : IDropTarget -{ - public void DropHintOver(IDropHintInfo dropHintInfo) - { - if (!this.CanAccept(dropHintInfo.DragInfo) || dropHintInfo.DropInfo?.TargetItem is not DestinationModel) - { - dropHintInfo.DestinationText ="Can't drop here"; - // Red adorner if we can't drop - dropHintInfo.DropTargetHintAdorner = typeof(SpecializedDropErrorAdorner); - } - } - - public void DropHint(IDropHintInfo dropHintInfo) - { - if(CanAccept(dropHintInfo.DragInfo)) - { - dropHintInfo.DestinationText = "Send to destination"; - - dropHintInfo.DropTargetHintAdorner = typeof(DropTargetHintAdorner); - } - } - - public void DragOver(IDropInfo dropInfo) - { - if (this.CanAccept(dropInfo.DragInfo)) - { - var copyData = DefaultDropHandler.ShouldCopyData(dropInfo); - if (dropInfo.VisualTargetItem is ListBoxItem) - { - dropInfo.Effects = copyData ? DragDropEffects.Copy : DragDropEffects.Move; - dropInfo.DropTargetAdorner = DropTargetAdorners.Highlight; - dropInfo.EffectText = "Send"; - dropInfo.DestinationText = $"Send to {(dropInfo.TargetItem as DestinationModel)?.Name}".Trim(); - } - } - } - - private bool CanAccept(IDragInfo dragInfo) - { - if (dragInfo == null) - { - return false; - } - - var items = DefaultDropHandler.ExtractData(dragInfo.Data) - .OfType() - .ToList(); - return items.Count > 0; - } - - public void Drop(IDropInfo dropInfo) - { - if (dropInfo.TargetItem is DestinationModel destination) - { - destination.Count++; - } - } -} \ No newline at end of file diff --git a/src/Showcase/Views/MixedSamples.xaml b/src/Showcase/Views/MixedSamples.xaml index 74df3470..f3d3d80a 100644 --- a/src/Showcase/Views/MixedSamples.xaml +++ b/src/Showcase/Views/MixedSamples.xaml @@ -597,18 +597,27 @@ - + - + Text="{Binding HintText}" + TextWrapping="Wrap"/> + + + + + + + + @@ -638,82 +647,61 @@ dd:DragDrop.UseDefaultEffectDataTemplate="True" dd:DragDrop.UseDefaultDragAdorner="True" dd:DragDrop.UseDropTargetHint="True" - dd:DragDrop.DropHandler="{Binding Path=Data.HintDropTarget}" - dd:DragDrop.DropHintDataTemplate="{StaticResource DefaultDropHintTemplate}" ItemsSource="{Binding Data.Collection1}" /> - - - - - - - - - - - - - - - - - + Grid.Column="1"> + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + Date: Tue, 26 Mar 2024 13:46:33 +0100 Subject: [PATCH 10/16] Added screenshot for Drag Hint in action --- README.md | 2 ++ screenshots/DragHint-Demo.gif | Bin 0 -> 467776 bytes 2 files changed, 2 insertions(+) create mode 100644 screenshots/DragHint-Demo.gif diff --git a/README.md b/README.md index 5bfd7a12..af02cb5d 100644 --- a/README.md +++ b/README.md @@ -96,3 +96,5 @@ Does your company use `GongSolutions.WPF.DragDrop`? Ask your manager or marketi ![screenshot04](./screenshots/2016-09-03_00h53_21.png) ![gif02](./screenshots/DragDropSample01.gif) + +![gif02](./screenshots/DragHint-Demo.gif.gif) diff --git a/screenshots/DragHint-Demo.gif b/screenshots/DragHint-Demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..2e5ac0bd7c23a0f4d48a830558f207ab5ecc561e GIT binary patch literal 467776 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 Date: Tue, 26 Mar 2024 13:52:02 +0100 Subject: [PATCH 11/16] updated link to demo gif --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index af02cb5d..d6304c92 100644 --- a/README.md +++ b/README.md @@ -97,4 +97,4 @@ Does your company use `GongSolutions.WPF.DragDrop`? Ask your manager or marketi ![gif02](./screenshots/DragDropSample01.gif) -![gif02](./screenshots/DragHint-Demo.gif.gif) +![gif03](./screenshots/DragHint-Demo.gif) From a16b1fb89f7a796f6161aa9d322fff1dfb4b6ecf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rnar=20Sundsb=C3=B8?= Date: Tue, 26 Mar 2024 15:01:45 +0100 Subject: [PATCH 12/16] Reverted some unintended changes to DropInfo constructor --- src/GongSolutions.WPF.DragDrop/DropInfo.cs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/GongSolutions.WPF.DragDrop/DropInfo.cs b/src/GongSolutions.WPF.DragDrop/DropInfo.cs index fcfd047e..67ddc7b0 100644 --- a/src/GongSolutions.WPF.DragDrop/DropInfo.cs +++ b/src/GongSolutions.WPF.DragDrop/DropInfo.cs @@ -171,11 +171,10 @@ public bool IsSameDragDropContextAsSource public DropInfo(object sender, DragEventArgs e, [CanBeNull] IDragInfo dragInfo, EventType eventType) { this.DragInfo = dragInfo; - this.KeyStates = e?.KeyStates ?? DragDropKeyStates.None; + this.KeyStates = e.KeyStates; this.EventType = eventType; - var dataFormat = dragInfo?.DataFormat ?? dragInfo?.DataFormat; - if(e?.Data != null) - this.Data = dataFormat != null && e.Data.GetDataPresent(dataFormat.Name) ? e.Data.GetData(dataFormat.Name) : dragInfo?.Data; + var dataFormat = dragInfo?.DataFormat; + this.Data = dataFormat != null && e.Data.GetDataPresent(dataFormat.Name) ? e.Data.GetData(dataFormat.Name) : e.Data; this.VisualTarget = sender as UIElement; // if there is no drop target, find another @@ -208,7 +207,7 @@ public DropInfo(object sender, DragEventArgs e, [CanBeNull] IDragInfo dragInfo, this.TargetScrollingMode = this.VisualTarget != null ? DragDrop.GetDropScrollingMode(this.VisualTarget) : ScrollingMode.Both; // visual target can be null, so give us a point... - this.DropPosition = this.VisualTarget != null && e != null ? e.GetPosition(this.VisualTarget) : new Point(); + this.DropPosition = this.VisualTarget != null ? e.GetPosition(this.VisualTarget) : new Point(); if (this.VisualTarget is TabControl) { From 680b3609ba76182b30557d7ad2526dbc6076a5a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rnar=20Sundsb=C3=B8?= Date: Tue, 26 Mar 2024 15:42:16 +0100 Subject: [PATCH 13/16] Fixed build warnings and error --- .../DragDrop.Properties.cs | 7 +++--- .../DropHintHelpers.cs | 22 +++++++++---------- .../IDropHintInfo.cs | 2 +- 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/src/GongSolutions.WPF.DragDrop/DragDrop.Properties.cs b/src/GongSolutions.WPF.DragDrop/DragDrop.Properties.cs index 89220709..a2efde8e 100644 --- a/src/GongSolutions.WPF.DragDrop/DragDrop.Properties.cs +++ b/src/GongSolutions.WPF.DragDrop/DragDrop.Properties.cs @@ -589,7 +589,6 @@ public static void SetDropTargetHighlightBrush(DependencyObject element, Brush v ///

Helper for setting on . /// to set on. - /// DropTargetAdornerBrush property value. /// Sets the brush for the DropTargetAdorner. [AttachedPropertyBrowsableForType(typeof(UIElement))] public static Brush GetDropTargetHighlightBrush(DependencyObject element) @@ -750,7 +749,7 @@ public static void SetDragDropCopyKeyState(DependencyObject element, DragDropKey /// Data template for displaying drop hint. ///

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

public static readonly DependencyProperty DropHintDataTemplateProperty = DependencyProperty.RegisterAttached( - "DropHintDataTemplate", typeof(DataTemplate), typeof(DragDrop), new PropertyMetadata(default(DataTemplate))); + "DropHintDataTemplate", typeof(DataTemplate), typeof(DragDrop)); /// /// Helper method for setting the on the given . @@ -777,7 +776,7 @@ public static readonly DependencyProperty UseDropTargetHintProperty = DependencyProperty.RegisterAttached("UseDropTargetHint", typeof(bool), typeof(DragDrop), - new PropertyMetadata(default(bool), OnUseDropTargetHintPropertyChanged)); + new PropertyMetadata(default(bool), OnUseDropTargetHintChanged)); /// Helper for setting on . /// to set on. @@ -804,7 +803,7 @@ public static bool GetUseDropTargetHint(DependencyObject element) /// /// /// - private static void OnUseDropTargetHintPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) + private static void OnUseDropTargetHintChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { var dropTarget = d as UIElement; if (dropTarget == null) diff --git a/src/GongSolutions.WPF.DragDrop/DropHintHelpers.cs b/src/GongSolutions.WPF.DragDrop/DropHintHelpers.cs index 62d4a707..514d8929 100644 --- a/src/GongSolutions.WPF.DragDrop/DropHintHelpers.cs +++ b/src/GongSolutions.WPF.DragDrop/DropHintHelpers.cs @@ -111,20 +111,18 @@ private static void UpdateHintAdorner(DropTargetHintWeakReference weakReference, return; } - if (adornerType.IsAssignableTo(typeof(DropTargetHintAdorner))) + + if (weakReference.DropTargetHintAdorner != null && weakReference.DropTargetHintAdorner.GetType() != adornerType) { - if (weakReference.DropTargetHintAdorner != null && weakReference.DropTargetHintAdorner.GetType() != adornerType) - { - // Type has changed, so we need to remove the old adorner. - weakReference.DropTargetHintAdorner = null; - } + // Type has changed, so we need to remove the old adorner. + weakReference.DropTargetHintAdorner = null; + } - if (weakReference.DropTargetHintAdorner == null) - { - // Create new adorner if it does not exist. - var dataTemplate = DragDrop.TryGetDropHintDataTemplate(weakReference.Target); - weakReference.DropTargetHintAdorner = DropTargetHintAdorner.CreateHintAdorner(adornerType, weakReference.Target, dataTemplate, hintData); - } + if (weakReference.DropTargetHintAdorner == null) + { + // Create new adorner if it does not exist. + var dataTemplate = DragDrop.TryGetDropHintDataTemplate(weakReference.Target); + weakReference.DropTargetHintAdorner = DropTargetHintAdorner.CreateHintAdorner(adornerType, weakReference.Target, dataTemplate, hintData); } weakReference.DropTargetHintAdorner?.Update(hintData); diff --git a/src/GongSolutions.WPF.DragDrop/IDropHintInfo.cs b/src/GongSolutions.WPF.DragDrop/IDropHintInfo.cs index ab3905b4..21814c17 100644 --- a/src/GongSolutions.WPF.DragDrop/IDropHintInfo.cs +++ b/src/GongSolutions.WPF.DragDrop/IDropHintInfo.cs @@ -3,7 +3,7 @@ using System; /// -/// This interface is used with the and methods for +/// This interface is used with the for /// hint to the user about potential drop targets. /// public interface IDropHintInfo From ee96d8e12425cafa9ea4da0433f6856de1772aa2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rnar=20Sundsb=C3=B8?= Date: Tue, 26 Mar 2024 16:37:27 +0100 Subject: [PATCH 14/16] Implemented DropHint on Existing handlers in samples --- src/Showcase/Models/GroupedDropHandler.cs | 6 ++++++ src/Showcase/Models/NestedDropHandler.cs | 6 ++++++ src/Showcase/Models/SerializableDropHandler.cs | 6 ++++++ src/Showcase/Models/TextBoxCustomDropHandler.cs | 6 ++++++ src/Showcase/Views/MixedSamples.xaml | 4 ++++ 5 files changed, 28 insertions(+) diff --git a/src/Showcase/Models/GroupedDropHandler.cs b/src/Showcase/Models/GroupedDropHandler.cs index 4402a8df..fe2ab461 100644 --- a/src/Showcase/Models/GroupedDropHandler.cs +++ b/src/Showcase/Models/GroupedDropHandler.cs @@ -15,6 +15,12 @@ public void DragEnter(IDropInfo dropInfo) { // nothing here } + + /// + public void DropHint(IDropHintInfo dropHintInfo) + { + // nothing here + } #endif /// diff --git a/src/Showcase/Models/NestedDropHandler.cs b/src/Showcase/Models/NestedDropHandler.cs index 437b453d..338787f7 100644 --- a/src/Showcase/Models/NestedDropHandler.cs +++ b/src/Showcase/Models/NestedDropHandler.cs @@ -12,6 +12,12 @@ public void DragEnter(IDropInfo dropInfo) { // nothing here } + + /// + public void DropHint(IDropHintInfo dropHintInfo) + { + // nothing here + } #endif /// diff --git a/src/Showcase/Models/SerializableDropHandler.cs b/src/Showcase/Models/SerializableDropHandler.cs index 49605163..2eedf9ed 100644 --- a/src/Showcase/Models/SerializableDropHandler.cs +++ b/src/Showcase/Models/SerializableDropHandler.cs @@ -17,6 +17,12 @@ public void DragEnter(IDropInfo dropInfo) { // nothing here } + + /// + public void DropHint(IDropHintInfo dropHintInfo) + { + // nothing here + } #endif /// diff --git a/src/Showcase/Models/TextBoxCustomDropHandler.cs b/src/Showcase/Models/TextBoxCustomDropHandler.cs index b4fff1ea..f7a51a90 100644 --- a/src/Showcase/Models/TextBoxCustomDropHandler.cs +++ b/src/Showcase/Models/TextBoxCustomDropHandler.cs @@ -15,6 +15,12 @@ public void DragEnter(IDropInfo dropInfo) { // nothing here } + + /// + public void DropHint(IDropHintInfo dropHintInfo) + { + // nothing here + } #endif /// diff --git a/src/Showcase/Views/MixedSamples.xaml b/src/Showcase/Views/MixedSamples.xaml index f3d3d80a..ce14a23d 100644 --- a/src/Showcase/Views/MixedSamples.xaml +++ b/src/Showcase/Views/MixedSamples.xaml @@ -98,6 +98,7 @@ dd:DragDrop.IsDragSource="True" dd:DragDrop.IsDropTarget="True" dd:DragDrop.UseDefaultEffectDataTemplate="True" + dd:DragDrop.UseDropTargetHint="True" ItemsSource="{Binding Data.Collection1}" /> @@ -110,6 +111,7 @@ dd:DragDrop.IsDragSource="True" dd:DragDrop.IsDropTarget="True" dd:DragDrop.UseDefaultEffectDataTemplate="True" + dd:DragDrop.UseDropTargetHint="True" ItemsSource="{Binding Data.Collection2}" /> @@ -122,6 +124,7 @@ dd:DragDrop.IsDragSource="True" dd:DragDrop.IsDropTarget="True" dd:DragDrop.UseDefaultEffectDataTemplate="True" + dd:DragDrop.UseDropTargetHint="True" ItemsSource="{Binding Data.Collection2}" /> @@ -133,6 +136,7 @@ dd:DragDrop.IsDragSource="True" dd:DragDrop.IsDropTarget="True" dd:DragDrop.UseDefaultEffectDataTemplate="True" + dd:DragDrop.UseDropTargetHint="True" ItemsSource="{Binding Data.Collection4}" /> From a6325cec1a9727b19d5f23bacaa902401cae468a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rnar=20Sundsb=C3=B8?= Date: Tue, 2 Apr 2024 09:51:15 +0200 Subject: [PATCH 15/16] Implemented INotifyPropertyChanged on DropHintData to avoid WPF binding leak --- .../DropHintData.cs | 40 +++++++++++++++++-- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/src/GongSolutions.WPF.DragDrop/DropHintData.cs b/src/GongSolutions.WPF.DragDrop/DropHintData.cs index 6471d183..5a743bc0 100644 --- a/src/GongSolutions.WPF.DragDrop/DropHintData.cs +++ b/src/GongSolutions.WPF.DragDrop/DropHintData.cs @@ -1,10 +1,17 @@ namespace GongSolutions.Wpf.DragDrop; +using System.ComponentModel; +using System.Runtime.CompilerServices; +using JetBrains.Annotations; + /// /// Data presented in drop hint adorner. /// -public class DropHintData +public class DropHintData : INotifyPropertyChanged { + private DropHintState hintState; + private string hintText; + public DropHintData(DropHintState hintState, string hintText) { this.HintState = hintState; @@ -15,10 +22,37 @@ public DropHintData(DropHintState hintState, string hintText) /// The hint text to display to the user. See /// and . ///
- public string HintText { get; set; } + public string HintText + { + get => this.hintText; + set + { + if (value == this.hintText) return; + this.hintText = value; + this.OnPropertyChanged(); + } + } + /// /// The hint state to display different colors for hints. See /// and . /// - public DropHintState HintState { get; set; } + public DropHintState HintState + { + get => this.hintState; + set + { + if (value == this.hintState) return; + this.hintState = value; + this.OnPropertyChanged(); + } + } + + public event PropertyChangedEventHandler PropertyChanged; + + [NotifyPropertyChangedInvocator] + protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) + { + this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } } \ No newline at end of file From 680ed2e5e5e23d62332c5eababea672eb54c9bd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rnar=20Sundsb=C3=B8?= Date: Tue, 2 Apr 2024 09:53:09 +0200 Subject: [PATCH 16/16] Minor xaml changes to drop hint sample --- src/Showcase/Views/MixedSamples.xaml | 85 +++++++++++++--------------- 1 file changed, 40 insertions(+), 45 deletions(-) diff --git a/src/Showcase/Views/MixedSamples.xaml b/src/Showcase/Views/MixedSamples.xaml index ce14a23d..973a6c2e 100644 --- a/src/Showcase/Views/MixedSamples.xaml +++ b/src/Showcase/Views/MixedSamples.xaml @@ -602,24 +602,24 @@ - - + + TextWrapping="Wrap" /> - + - + @@ -648,61 +648,56 @@ dd:DragDrop.IsDropTarget="True" dd:DragDrop.SelectDroppedItems="True" dd:DragDrop.ShowAlwaysDropTargetAdorner="True" - dd:DragDrop.UseDefaultEffectDataTemplate="True" dd:DragDrop.UseDefaultDragAdorner="True" + dd:DragDrop.UseDefaultEffectDataTemplate="True" dd:DragDrop.UseDropTargetHint="True" ItemsSource="{Binding Data.Collection1}" /> - + - + ItemsSource="{Binding Data.Collection2}" /> - + dd:DragDrop.DropHandler="{Binding Path=Data.CustomDropHintHandler}" + dd:DragDrop.DropHintDataTemplate="{StaticResource DefaultDropHintTemplate}" + dd:DragDrop.DropTargetAdornerBrush="DarkGreen" + dd:DragDrop.DropTargetHighlightBrush="#75008000" + dd:DragDrop.IsDragSource="True" + dd:DragDrop.IsDropTarget="True" + dd:DragDrop.SelectDroppedItems="True" + dd:DragDrop.ShowAlwaysDropTargetAdorner="True" + dd:DragDrop.UseDefaultDragAdorner="True" + dd:DragDrop.UseDefaultEffectDataTemplate="True" + dd:DragDrop.UseDropTargetHint="True" + ItemsSource="{Binding Data.Collection2}" /> - - - - + + + - - + + - + + IsChecked="{Binding Path=Data.CustomDropHintHandler.IsActiveHintDisabled}" + ToolTip="No hint should be displayed on mouse-over" />