滑块步进率基于移动滑块的速度

时间:2015-09-02 02:08:32

标签: c# xaml slider winrt-xaml

我有一个UWP XAML应用程序,它使用滑块作为网络上一块音频硬件的音量控制。我的问题是在发送音量变化之间有50ms +所需的延迟,所以如果我快速将滑块从最小值移动到最大值,则需要硬件几秒钟才能赶上,因为应用程序正在发送新的+1级别每个valuechanged事件滑块。

我不想改变滑块的步骤,因为我也想要精确控制。 Smallstep / largestep真的没什么帮助。是否有内置功能可根据您移动滑块的速度改变步长,即慢速移动,步长= 1,中等移动步长= 5,快速移动步长= 10?

如果没有,是否有人对如何实施这一点有任何建议?我想我可以对操纵事件做些什么。

1 个答案:

答案 0 :(得分:0)

有一种方法可以根据拖动速度更改滑块的步长。 您必须订阅 String escapeHTML = StringEscapeUtils.escapeHtml(inputStr); String output = "<p>"+escapeHTML+"</p>"; 事件(不要忘记将滑块的ManipulationDelta设置为System或None以外的其他值。 然后在处理程序中从ManipulationMode参数中获取Velocities。像这样的东西

ManipulationDeltaRoutedEventArgs

您还应该记得在ManipulationCompleted事件中重置滑块的步骤。

话虽如此,我不知道如何根据阻力速度改变步骤将有助于您达到预期效果。根据我的理解,由于控制范围之外的参数(网络,硬件等),应用程序发送数据的时间与硬件反映更改的时间之间有50毫秒的延迟。就是这样。