工作,我在WPF这个滑块:滑块不与触摸输入
<Slider x:Name="SizeSlider" IsManipulationEnabled="True" Width="100" Minimum="1" Maximum="10" Value="1" ValueChanged="SizeSlider_ValueChanged"></Slider>
我可以拖动滑块的光标用鼠标,但不是触摸输入。
为了在触摸输入中使用滑块,我需要做些什么?
工作,我在WPF这个滑块:滑块不与触摸输入
<Slider x:Name="SizeSlider" IsManipulationEnabled="True" Width="100" Minimum="1" Maximum="10" Value="1" ValueChanged="SizeSlider_ValueChanged"></Slider>
我可以拖动滑块的光标用鼠标,但不是触摸输入。
为了在触摸输入中使用滑块,我需要做些什么?
所以我找到了解决方案,感谢Agentlien提供的链接。
在XAML中,添加一个达阵属性:
<Slider x:Name="SizeSlider" Width="100" Minimum="1" Maximum="10" Value="1" ValueChanged="SizeSlider_ValueChanged" TouchDown="SizeSlider_TouchDown"/>
(我也删除了IsManipulationEnabled属性,因为它是不是在这里有必要)
在C#代码隐藏:
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;
}
像这样,滑块可以用于鼠标和触摸输入。
它看起来像你对我可以从这里描述的问题的痛苦:
http://nui.joshland.org/2010/04/why-wont-wpf-controls-work-with-touch.html
简而言之:IsManipulationEnabled
影响触摸是否生成鼠标事件或不如果触摸事件不是处理,所以你需要确保处理正确的事件。
谢谢!通过您提供的链接,我可以解决我的问题。但它不是关于IsManipulationEnabled属性的东西。我会添加自己的答案,但作为你的答案也是有帮助的,我会尽快答复它(> 15代表)。 –
@MichaëlPolla现在你已经15岁了。 – Undo
@撤消:完成! ...有趣的昵称的方式: - D起初,我不明白为什么我能够“撤消”评论......嘻嘻 –
看到这种解决方案是什么解决了你的问题,你应该选择它作为接受的答案,所以人们知道去哪里看。 – Agentlien
谢谢提醒我!我不能在此之前,因为我不得不再等一天:)并再次感谢您的帮助! –
非常欢迎。 :)能够提供帮助总是很好的。当我的Google搜索带来了我提供的链接和这个问题的链接时,我碰巧遇到了类似的问题。所以,我想我最好连接这两个。 – Agentlien