我有一个最小值 0 且最大值 1 的滑块。
当我当前滑动它时,该值被设置为0到1之间的十进制值,例如的 0.2342343
但是,我希望该值仅为 0或1 (这样我的ViewModel属性只会在0或1时注册更改,而不是多次因为用户拖动它而0到1)。
如何使滑块值仅为0或1?我尝试过SmallChange,LargeChange和SnapsToDevicePixels,但这些都不起作用。
<Slider Name="TheLanguageIndexSlider"
DockPanel.Dock="Bottom"
Minimum="0"
Maximum="1"
LargeChange="1"
SmallChange="1"
SnapsToDevicePixels="True"
Width="100"
Margin="5"
Value="{Binding LanguageIndex}"
HorizontalAlignment="Left"/>
答案 0 :(得分:8)
将IsSnapToTickEnabled
设置为true
,并为TickFrequency
属性指定值1:
<Slider IsSnapToTickEnabled="True"
Maximum="1" />
答案 1 :(得分:2)
来自msdn
<Slider Width="100" Value="50" Orientation="Horizontal" HorizontalAlignment="Left"
IsSnapToTickEnabled="True" Maximum="3" TickPlacement="BottomRight"
AutoToolTipPlacement="BottomRight" AutoToolTipPrecision="2"
Ticks="0, 1.1, 2.5, 3"/>
在你的情况下:
<Slider Name="TheLanguageIndexSlider"
IsSnapToTickEnabled="True"
Ticks="0, 1"
DockPanel.Dock="Bottom"
Minimum="0"
Maximum="1"
LargeChange="1"
SmallChange="1"
SnapsToDevicePixels="True"
Width="100"
Margin="5"
Value="{Binding LanguageIndex}"
HorizontalAlignment="Left"/>