AvaloniaUI / Avalonia.Xaml.Behaviors

Port of Windows UWP Xaml Behaviors for Avalonia Xaml.
MIT License
395 stars 48 forks source link

(MacOS) Issue when DragEnter from Finder #160

Open Tenjim opened 6 months ago

Tenjim commented 6 months ago

Hi,

I have an issue when I begin an DragEnter event to init the drag and drop from behavior. It's seems to came only when we drag a file from Finder. it's occur when we are getting custom data object type from clipboard. But it can't be replicated with vanilla Drag and drop from Avalonia. (ref : see ControlCatalog samples from Avalonia) because they are using DataFormat.File. fyi : it's only on macOS not on windows.

I'm using 11.0.10 (I had already try on 11.0.10.9) version of Avalonia Behavior And I'm on 11.0.10 Avalonia

This is the call stack about this issue :

System.Runtime.InteropServices.COMException (0x80004005): GetBytes failed at Avalonia.Native.Interop.Impl.__MicroComIAvnClipboardProxy.GetBytes(String type) at Avalonia.Native.ClipboardImpl.GetDataAsync(String format) at Avalonia.Native.ClipboardDataObject.Get(String dataFormat) at Avalonia.Xaml.Interactions.DragAndDrop.ContextDropBehavior.DragEnter(Object sender, DragEventArgs e)

Tenjim commented 5 months ago

It's came from this issue on Avalonia

maxkatz6 commented 5 months ago

I am going reopen this issue, as this library code should also be fixed by always checking if data format exists in the object: https://github.com/AvaloniaUI/Avalonia.Xaml.Behaviors/blob/master/src/Avalonia.Xaml.Interactions.DragAndDrop/ContextDropBehavior.cs#L76C60-L76C70 and other places.

ITDancer13 commented 1 month ago

I created PR #176 which fixes the issue.