dotnet / dotnet/wpf

Strange Behavior in Touch Application using WPF

Open
#9,019 8 comments 0 reactions 0 assignees View on GitHub
Investigate
Dominant language
C#
Stars
7.7k
Forks
1.3k
Avg merge
1d 11h
Merged PRs (30d)
61

Description

### Description

In my touch application developed with WPF, I've encountered a perplexing behavior when interacting with buttons within an ItemsControl. Occasionally, when touching down on one button, the click action seems to be executed on a different button within the ItemsControl.

This issue occurs sporadically and is challenging to consistently reproduce. The buttons within the ItemsControl are utilizing a custom template. I've observed this behavior across multiple touch devices, indicating that it's not specific to a particular hardware configuration.

It's worth noting that this issue seems to be isolated to touch interactions, as it doesn't manifest with mouse input. To aid in diagnosing the problem, I plan to attach a video demonstrating the behavior. In the video, I'll highlight where the touch occurs on the screen and indicate which button erroneously triggers the click event by changing its background color to blue.

https://github.com/dotnet/wpf/assets/12544824/87546f5a-5938-457f-940f-e4f5e4d16303

### Reproduction Steps

since its random I just can't reproduce but here's my event handler (originally I used command binding but I thought that it might be a bubbling issue )

private void Button_Click(object sender, RoutedEventArgs e)
{
if (sender is Button button
&& e.OriginalSource is Button source
&& source == button &&
button.DataContext is MenuDTO menu
&& this.DataContext is ViewModels.MenuSelectionViewModel vm)
{
_ = ChangeColor(source);
vm.MenuSelectedCommand.Execute(menu);
}
}

additionally I have set the Button `Focusable=False`

### Expected behavior

the button that is touched should raise the event

### Actual behavior

randomly a different button raises the event

### Regression?

_No response_

### Known Workarounds

_No response_

### Impact

_No response_

### Configuration

.net: net8.0-windows
Windows 10 Enterprise 19045.4046
AMD Ryzen 9 5900X 12-Core Processor 3.70 GHz
Issue occurs on different configurations as well

### Other information

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.