microsoft / microsoft/microsoft-ui-xaml

Faulty triggering of TabView.TabDroppedOutside

Open
#10,245 0 comments 0 reactions 0 assignees View on GitHub
area-TabView bug
Dominant language
C++
Stars
8.4k
Forks
942
Avg merge
2d 7h
Merged PRs (30d)
105

Description

### Describe the bug

When having a TabView with `CanDragTabs="True"` the event `TabDroppedOutside` is often triggered when performing a double-click while slightly moving the mouse. The movement can be really small and not at all as large that it should trigger a drop.

### Steps to reproduce the bug

Having a TabView with `CanDragTabs="True" and doublelicking on the tab while slightly moving the mouse.
Can be triggered on any of the tabs.

### Expected behavior

The event `TabView.TabDroppedOutside` should only be triggered when dropping at a distance from the initial click.

### Screenshots

Video displaying the behavior. When dragging and dropping the event is only triggered when dropping at some distance from the first click, but when doubleclicking only a slight mouse movement will trigger the event.

https://github.com/user-attachments/assets/da04609f-bee0-4727-935a-075ded6703f4

### NuGet package version

WinUI 3 - Windows App SDK 1.6.3: 1.6.241114003

### Windows version

_No response_

### Additional context

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the issue in a WinUI 3 TabView with CanDragTabs="True", using both a double-click with slight movement and an ordinary drag-and-drop. Compare when TabDroppedOutside fires in each path and inspect the control's drag-distance handling. Done means small movement during a double-click no longer triggers the event, while a sufficiently distant drop still does.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.