#2491·wpf

ShowDialog 和 TextBox 存在触摸错误/问题

作者: vsfeedback创建于 2020年1月31日更新于 2026年9月18日
标签Bug
_此问题已从 [开发者社区中的一个工单](https://developercommunity.visualstudio.com/content/problem/890778/touch-bugissue-with-showdialog-and-textbox.html) 移开。_ ---

你好,我正在开发一个 WPF 应用程序,用于与触摸设备一起使用(运行 Win 10 全)。

有一个场景,触摸无法按预期响应。
如果我有一个 TextBox 并打开一个对话框(ShowDialog()),则对话框将不会处理任何触摸,并会忽略用户:

A) 1 个触摸被忽略 - 如果使用单点触摸驱动。

B) 10 个触摸被忽略 - 如果使用多点触摸驱动。

然后它将再次正常响应。

我已经附上了一个视频,展示了此问题,还有一个测试项目,以便您可以轻松复制(使用 Windows 模拟器或触摸显示器)
在视频中,您可以看到,通过按钮打开对话框时,它会按预期响应,但如果通过 TextBox 打开,则会出现触摸问题。

textbox-showdialog-touch-issue.mp4

ms-wpf-testtouchdialogs.zip

使用的代码如下:

        private void TextBox_PreviewMouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            // 这会在对话框中引发触摸问题。
            // (1 个触摸被忽略 - 使用单点触摸显示器/驱动 - 10 个触摸被忽略 - 使用多点触摸显示器/驱动)
            new DialogWindow(). ShowDialog();
        }

private void Button_Click(object sender, RoutedEventArgs e)
        {
            new DialogWindow(). ShowDialog();
        }

Windows 10
VS 2019
.NET 4.6.1(但也已在 4.8 中测试,问题完全相同)