microsoft / microsoft/microsoft-ui-xaml

Weird Hit testing after scaled with Composition animation

Open
#11,029 0 comments 5 reactions 0 assignees View on GitHub
area-Animations area-Button bug team-CompInput
Dominant language
C++
Stars
8.4k
Forks
942
Avg merge
2d 7h
Merged PRs (30d)
105

Description

### Describe the bug

I found that after applying a composition animation to scale up a ui elements (eg. `Button`), they are no longer correctly hit-tested.

### Why is this important?

It's confusing to user.

### Steps to reproduce the bug

1. In winui 3 gallery, go to `Animation Interop` page
2. Hover over to the button in the first example, it will be scaled up
3. Move the cursor and click on the bottom right corner of the button.
4. The clicked state is very inconsistent. It will seemingly switch to normal state while you are still holding the mouse button.

### Actual behavior

_No response_

### Expected behavior

After scaled its visual, it should either participate in hit-testing according to the new size, or, participate in hit-testing with the original size.

### Screenshots

![Image](https://github.com/user-attachments/assets/36c06319-5ec5-42f3-8446-a60ef7d8aabb)

### NuGet package version

WinUI 3 - Windows App SDK 1.8.5: 1.8.260209005

### Windows version

Windows 10 (1809): Build 17763

### Additional context

_No response_

Contributor guide

Open the contributing guide

Research direction

Reproduce the issue in the WinUI 3 Gallery on the Animation Interop page using the first scaled Button example, then inspect the composition-animation and hit-testing behavior involved. Done means clicking the button's lower-right area behaves consistently while the visual is scaled, according to one defined hit-testing boundary.

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
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.