在 WPF Slider 中,拇指没有立即用 wacom 板拖动
Thumb not dragging immediately with wacom board in WPF Slider
我在 Visual Studio (.Net 4.5) 中创建了一个新的 WPF 应用程序,并且刚刚向 MainWindow 添加了一个滑块:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SliderTest.MainWindow"
Title="MainWindow">
<StackPanel>
<Slider />
</StackPanel>
</Window>
如果我使用启用了 Windows Ink 的 Wacom 板并尝试拖动拇指,只有在某个明显的阈值(比如 50px)之后才会拖动拇指。
如果 Windows Ink 被禁用(在 Wacom 属性中),拇指将按预期立即移动。
This issue has apparently been a problem for many Wacom users,但对我来说它不是禁用 Ink 的选项。
我的理解是Slider
(和Thumb
)不直接处理手写笔事件,而是"wait"让它们被路由和冒泡,然后是鼠标事件see images in this blog post to see the concept illustrated.
知道如何修复启用 Ink 时的 Slider
行为吗?
我无法为 Slider
找到合适的修复程序,因此我决定构建自己的自定义滑块。
其中,我分别处理鼠标和手写笔事件,通过检查MouseEventArgs
中的StylusDevice
是否为null来区分来自鼠标的鼠标事件和来自手写笔的鼠标事件。
我在 Visual Studio (.Net 4.5) 中创建了一个新的 WPF 应用程序,并且刚刚向 MainWindow 添加了一个滑块:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="SliderTest.MainWindow"
Title="MainWindow">
<StackPanel>
<Slider />
</StackPanel>
</Window>
如果我使用启用了 Windows Ink 的 Wacom 板并尝试拖动拇指,只有在某个明显的阈值(比如 50px)之后才会拖动拇指。
如果 Windows Ink 被禁用(在 Wacom 属性中),拇指将按预期立即移动。
This issue has apparently been a problem for many Wacom users,但对我来说它不是禁用 Ink 的选项。
我的理解是Slider
(和Thumb
)不直接处理手写笔事件,而是"wait"让它们被路由和冒泡,然后是鼠标事件see images in this blog post to see the concept illustrated.
知道如何修复启用 Ink 时的 Slider
行为吗?
我无法为 Slider
找到合适的修复程序,因此我决定构建自己的自定义滑块。
其中,我分别处理鼠标和手写笔事件,通过检查MouseEventArgs
中的StylusDevice
是否为null来区分来自鼠标的鼠标事件和来自手写笔的鼠标事件。