Windows Phone 8 Slider控制步长

Edi*_*ang 3 silverlight xaml slider windows-phone-8

我想制作一个这样的滑块: Windows Phone设置页面滑块

注意有一点"|" 在每个滑块值之间,用户只能选择那些值.

但我发现设置SmallChange和LargeChange没用.

<TextBlock FontSize="44" Text="{Binding ElementName=ColorDarknessStepsSlider, Path=Value}"/>

<Slider x:Name="ColorDarknessStepsSlider" Margin="-12,0" Minimum="3" Maximum="5"
        SmallChange="1" LargeChange="1" />
Run Code Online (Sandbox Code Playgroud)

我希望用户只能选择3,4,5但它给我这个:

我的滑块

我不知道是什么问题.没有"|"我没事 在值之间标记,但至少用户必须只选择整数值3,4,5.我该怎么做?

Err*_*418 5

您可以使用xaml执行此操作[编辑:仅存在于WPF,appologies]:

    <Slider x:Name="ColorDarknessStepsSlider" Margin="-12,0" Minimum="3" Maximum="5"
    SmallChange="1" LargeChange="1" TickFrequency="1" />
Run Code Online (Sandbox Code Playgroud)

或者通过C#[编辑:一个好方法]

    private void ColorDarknessStepsSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
    {
         double roundedValue =  Math.Round(ColorDarknessStepsSlider.Value, 0);
         //Check if it is a rounded value
         if(ColorDarknessStepsSlider.Value != roundedValue )
             ColorDarknessStepsSlider.Value = roundedValue ;
    }
Run Code Online (Sandbox Code Playgroud)

希望它可以帮助;)