0

Windows Phone 7 アプリを開発しています。複数のページにスライダー コントロールがあります。ただし、アプリ内の特定のページに移動すると、すべてのページのすべてのスライダー コントロールが奇妙に動作します。

症状は、ユーザーがスライダーのつまみを非常に短い範囲しかドラッグできないことです。

私が言及した特定のページは、コードと XAML に問題はありません。すべてのスライダーが正しく動作しないのはなぜですか?

4

2 に答える 2

1

問題は、ツールキット ジェスチャを使用すると、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;
}
于 2012-11-14T00:54:28.627 に答える
0

SliderクラスにはプロパティSmallChangeがあり、スライダーテンプレートを見ると、ユーザーがスライダーをタップすると、値は小さな変更でのみ変更されることがわかります。これを回避したい場合は、カスタムスライダーの動作を作成する必要があります。

于 2012-11-13T17:38:15.553 に答える