WPF Button 触摸长按实现 - 代码示例
在 WPF 中,可以使用 TouchDown 和 TouchUp 事件来实现触摸长按的效果。以下是一个示例代码:\n\ncsharp\nprivate bool isLongPressing = false;\nprivate DateTime touchDownTime;\n\nprivate void Button_TouchDown(object sender, TouchEventArgs e)\n{\n isLongPressing = false;\n touchDownTime = DateTime.Now;\n\n // 开始计时器\n DispatcherTimer timer = new DispatcherTimer();\n timer.Interval = TimeSpan.FromSeconds(1); // 设置长按时间为1秒\n timer.Tick += Timer_Tick;\n timer.Start();\n}\n\nprivate void Button_TouchUp(object sender, TouchEventArgs e)\n{\n if (isLongPressing)\n {\n // 长按操作\n // TODO: 在这里添加长按操作的代码\n }\n\n // 停止计时器\n (sender as DispatcherTimer)?.Stop();\n}\n\nprivate void Timer_Tick(object sender, EventArgs e)\n{\n // 判断是否长按\n if ((DateTime.Now - touchDownTime).TotalSeconds >= 1)\n {\n isLongPressing = true;\n (sender as DispatcherTimer)?.Stop();\n }\n}\n\n\n在 XAML 中,你需要将 Button 的 TouchDown 和 TouchUp 事件绑定到对应的事件处理程序:\n\nxaml\n<Button Content="长按按钮" TouchDown="Button_TouchDown" TouchUp="Button_TouchUp" />\n\n\n这样,当用户触摸按钮并按住超过1秒时,就会触发长按操作。你可以在 Button_TouchUp 事件处理程序中添加自己的逻辑来处理长按操作。
原文地址: https://www.cveoy.top/t/topic/pEeQ 著作权归作者所有。请勿转载和采集!