Last active
June 17, 2020 06:52
-
-
Save digitaldias/85d33cb157774e8a158d9b6779f6e86a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
THE LISTVIEW | |
<ListView Grid.Row="7" | |
Grid.ColumnSpan="2" | |
Background="Transparent" | |
BorderBrush="Transparent" | |
Foreground="Yellow" | |
dd:DragDrop.IsDragSource="True" | |
dd:DragDrop.IsDropTarget="True" | |
dd:DragDrop.DragAdornerTemplate="{StaticResource DragAdorner}" | |
ItemsSource="{Binding SelectedGroupMember.Loot}" | |
ItemTemplate="{StaticResource LootedItemTemplate}" | |
/> | |
The ITEMTEMPLATE | |
<Border Background="#333333" BorderBrush="DarkGray" BorderThickness="2" CornerRadius="10" Margin="2" dd:DragDrop.IsDropTarget="True" IsHitTestVisible="{Binding IsHitTestVisible}"> | |
..tons of xaml | |
</Border | |
The DRAGOVER | |
public void DragOver(IDropInfo dropInfo) | |
{ | |
var draggedItem = dropInfo.Data as LootViewModel; | |
var targetMember = dropInfo.TargetItem as GroupMemberViewModel; | |
if (draggedItem is { } && targetMember is { }) | |
{ | |
targetMember.IsHitTestVisible = false; // No DragLeave() or DragCancel event to catch!! EEP! | |
var sourceMember = GroupMembers.FirstOrDefault(m => m.Name.Equals(draggedItem.GroupMemberName)); | |
dropInfo.DropTargetAdorner = DropTargetAdorners.Highlight; | |
dropInfo.Effects = DragDropEffects.Move; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment