gong-wpf-dragdrop icon indicating copy to clipboard operation
gong-wpf-dragdrop copied to clipboard

Drag action gets incorrect item object type in ItemsControl collection

Open I4-PJ opened this issue 1 year ago • 4 comments

Describe the bug When using ItemsControl with variety of item underlying types, the drag behaves incorrectly. The item type is evaluated incorrectly, thus drag won't work.

To Reproduce Steps to reproduce the behavior: Make ItemsSource element with binding to collection allowing different class types in that collection Add those different class type items to the collection

Expected behavior Drag action gets underlying collection type accordingly

Snímek obrazovky 2023-11-01 164255

The issue seems at ItemsControlExtensions.cs and its public static Type GetItemContainerType(this ItemsControl itemsControl, out bool isItemContainer, DependencyObject child) method when item type is not identified correctly

I did a small workaround without larger method change:

Added new method to find appropriate item index by any item in VisualTree and changed slightly a process handling ItemsSource object. ItemsControlExtensions.zip

I4-PJ avatar Nov 01 '23 19:11 I4-PJ

@I4-PJ Can you maybe provide a full sample for this as repo on GitHub?

punker76 avatar Nov 01 '23 21:11 punker76

See attached a simple project. When added red and green items, drag works incorrectly. WpfApp1.zip

I4-PJ avatar Nov 04 '23 21:11 I4-PJ