滑块不能使用触摸输入。

5

我有一个WPF中的滑块:

<Slider x:Name="SizeSlider" IsManipulationEnabled="True" Width="100" Minimum="1" Maximum="10" Value="1" ValueChanged="SizeSlider_ValueChanged"></Slider>

我可以用鼠标拖动滑块的光标,但无法使用触摸输入。

要如何使用触摸输入来操作滑块?

2个回答

6

感谢Agentlien提供的链接,我找到了解决方案。

在XAML中添加TouchDown属性:

<Slider x:Name="SizeSlider" Width="100" Minimum="1" Maximum="10" Value="1" ValueChanged="SizeSlider_ValueChanged" TouchDown="SizeSlider_TouchDown"/>

在 C# 代码后台:

(同时我删除了 IsManipulationEnabled 属性,因为这里不需要它)

private void SizeSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
    // Things you want to do everytime slider's value change
    // For example :
    _brushSize = e.NewValue;
}


private void SizeSlider_TouchDown(object sender, TouchEventArgs e)
{
    // Mark event as handled
    e.Handled = true;
}

这样,滑块可以同时支持鼠标和触摸输入。


既然这个解决方案修复了您的问题,您应该将其选择为被接受的答案,以便其他人知道在哪里查找。 - Agentlien
谢谢你提醒我!之前我不能做因为我还得再等一天 :) 再次感谢你的帮助! - Michaël Polla
非常欢迎。:) 能够帮助别人总是很好的感觉。当我进行谷歌搜索时,恰好遇到了类似的问题,并找到了我提供链接和这个问题的链接。所以,我想最好将它们联系起来。 - Agentlien

3

谢谢!有了你提供的链接,我成功解决了我的问题。但这与IsManipulationEnabled属性无关。我会添加自己的答案,但由于你的回答也很有帮助,一旦我能够点赞(>15 rep),我会给你点赞的。 - Michaël Polla
@MichaëlPolla 你已经超过15岁了。 - Undo
1
@撤销:完成!...顺便说一下,很有趣的昵称 :-D 起初我不明白为什么能“撤销”评论...嘿嘿 - Michaël Polla

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接