我正在开发 Windows Phone 7 应用程序。我在几个页面上有滑块控件。但是,当我转到我的应用程序中的某个页面时,每个页面中的所有滑块控件都表现得很奇怪。
症状是用户只能在很短的范围内拖动滑块上的拇指。
我提到的特定页面的代码和 XAML 没有问题。为什么它会导致所有滑块行为错误?
我正在开发 Windows Phone 7 应用程序。我在几个页面上有滑块控件。但是,当我转到我的应用程序中的某个页面时,每个页面中的所有滑块控件都表现得很奇怪。
症状是用户只能在很短的范围内拖动滑块上的拇指。
我提到的特定页面的代码和 XAML 没有问题。为什么它会导致所有滑块行为错误?
问题是使用工具包 Gesture 会导致 Slider 行为异常。因此,当开始在 Slider 上操作时,您应该禁用 Gesture 监听器,然后在停止在 Slider 上操作时启用它。
<Slider Height="84" Name="fixedSlider" ManipulationStarted="disableGestures" ManipulationCompleted="restoreGestures" />
GestureType prevGestureType;
private void disableGestures(object sender, ManipulationStartedEventArgs e)
{
prevGestureType = TouchPanel.EnabledGestures;
TouchPanel.EnabledGestures = GestureType.None;
fixedSlider.IsHitTestVisible = false;
}
private void restoreGestures(object sender, ManipulationCompletedEventArgs e)
{
TouchPanel.EnabledGestures = prevGestureType;
}
Slider类具有SmallChange属性,如果您查看滑块模板,您会看到,当用户点击滑块时 - 值仅在微小变化时发生变化。如果您想避免这种情况,您需要创建自定义滑块行为。