XAML Slider要素を許可された値のみにスナップさせるにはどうすればよいですか?
質問
最小値 0 および最大値 1 のスライダーがあります。
現在スライドすると、値は0〜1の10進数値に設定されます。 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"/>
解決
IsSnapToTickEnabled
を true
に設定し、1の値を TickFrequency
プロパティに割り当てます。
<Slider IsSnapToTickEnabled="True"
Maximum="1" />
他のヒント
<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"/>
所属していません StackOverflow