屏幕中的 WPF 触摸事件不适用于 UserControl

WPF touch event in screen not working with UserControl

我们正在开发 WPF 应用程序。我们使用 .net4.7,但我们已经用 .net5 对其进行了测试,但问题仍然存在。

我们有一些不同的元素(按钮、输入文本...),有时它们必须显示“弹出窗口”(作为消息框)。

所以,当我们有一个列表项(来自 windows 控件的列表视图)并且我们想要显示一个 MessageBox 时,我们的问题就出现了;如果我们用按钮而不是列表项做同样的事情,它就可以了。

如果我们用鼠标管理 MessageBox,一切都很好,但是我们用触摸屏管理,我们需要点击 10 次才能让它工作。

这是我们在 xml 中的列表(它来自模板)。

<lists:VehicleList Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3"
                               DataContext="{Binding Path=DataContext, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:StepSelect}}}"/>

这是我们通过 ViewModel 显示的结果 yes/no 以及我们必须使用触摸屏点击 10 次的按钮:

MessageBox.ShowDialog(InfoMessages.driverContinue, MessageBoxButton.YesNo) == MessageBoxResult.Yes) { NavigateForward(this, res);

有什么想法吗?

提前致谢:)

PS:我们用Windows10.

已编辑:

发现我做MessageBox.ShowDialog(whatever);的时候出现问题,但是我做MessageBox.Show(whatever);

的时候没有出现

有什么想法吗?

问题是因为我们在列表中遗漏了以下代码:

private void ListView_PreviewTouchDown(object sender, System.Windows.Input.TouchEventArgs e)
{
    e.Handled = true;
}