[英]WPF C# Touch doens't work until the 11th touch
我已經為自助服務制作了一個 KIOSK 應用程序。 產品列表以編程方式生成。 在每個窗口上,該程序在觸摸屏上都可以正常工作。 除了一個窗口,我必須在它開始工作之前准確地觸摸 10 次。 我試圖重新制作那個窗口,我只在上面放了一個按鈕,但它是一樣的。 如果我禁用手寫筆和觸摸支持: <AppContextSwitchOverrides value="Switch.System.Windows.Input.Stylus.DisableStylusAndTouchSupport=true"/>
比它有效。 但這會禁用觸摸滾動,這是良好用戶體驗所必需的。 如果我使用 touchdown 或類似的東西,它可以工作,但我在那個窗口上有CheckBox
和RadioButton
,我無法捕捉到它們上的任何 Touch 事件。 有任何想法嗎?
即使我從我的代碼中清除所有內容,或者我創建一個具有相同名稱的新窗口,它也不起作用......
這是我的 Windows xml:
<Window x:Class="GestbalSelfSalePOS.ProdusComandaDetailsWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:GestbalSelfSalePOS"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
mc:Ignorable="d"
Title="ProdusComandaDetailsWindow">
<Grid>
<Button Click="BackButton_Click" Content="Button" Margin="120"/>
</Grid>
</Window>
我的客服:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace GestbalSelfSalePOS
{
/// <summary>
/// Interaction logic for ProdusComandaDetailsWindow.xaml
/// </summary>
public partial class ProdusComandaDetailsWindow : Window
{
public ProdusComandaDetailsWindow()
{
InitializeComponent();
}
private void BackButton_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
}
}
這就是我打開此窗口的方式:
new ProdusComandaDetailsWindow().ShowDialog();
我面臨的完全一樣。 我發現罪魁禍首是window.ShowDialog()
。 如果您嘗試,僅用於測試,請僅使用window.Show()
它將起作用。 在我看來,由於調用線程在window.ShowDialog()
上被阻塞,因此與觸摸相關的事件不會被處理/重新路由。 它與鼠標一起工作正常。 目前,我沒有找到解決方案,只是一個解決方法(一個煩人的):當我顯示新窗口時,之前我在新窗口上設置了Topmost=true
並在父窗口上設置了Topmost=false
。 我還在新窗口上設置了調用者的所有者,所以我可以在關閉新窗口之前將所有者 Topmost 設置為 true。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.