更改刻度和滑块控件以显示较小的数字

时间:2019-04-18 01:05:58

标签: c# wpf slider

我正试图要求用户将滑块拖动到他们的体重。我无法正确设定刻度线的数量。目前,我拥有的价格是10、100、200、300、400、500。我希望票数增加一。它们将从10开始,一直到500。

例如,当我拖动滑块时,数字将增加(11,12,13)。当前是(10,100,200)。

WPF:

<Slider x:Name="sldWeight" Grid.Column="0" VerticalAlignment="Center"            
            IsSnapToTickEnabled="True" Minimum="10" Maximum="500" TickPlacement="BottomRight"
            AutoToolTipPlacement="BottomRight" 
            Ticks="10, 100, 200, 300, 400, 500" ValueChanged="sldWeight_ValueChanged"  FontSize="18" BorderThickness="0" Foreground="Black" 
            TickFrequency="0" Margin="240,238,328.333,141.667" RenderTransformOrigin="0.32,2.104" Height="41" />
<TextBox x:Name="txtWeightOutput" HorizontalAlignment="Left" Height="37" Margin="488,227,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="94"/>

C#

 private void sldWeight_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
 {
     if (txtWeightOutput != null)
     {
         txtWeightOutput.Text = sldWeight.Value.ToString();
     }
  }

1 个答案:

答案 0 :(得分:0)

您需要删除特定的刻度值,并将刻度频率设为1(而不是0)。

<Slider x:Name="sldWeight" Grid.Column="0" VerticalAlignment="Center"            
                    IsSnapToTickEnabled="True" Minimum="10" Maximum="500" TickPlacement="BottomRight"
                    AutoToolTipPlacement="BottomRight" 
                     ValueChanged="sldWeight_ValueChanged"  FontSize="18" BorderThickness="0" Foreground="Black" 
                    TickFrequency="1" Margin="240,238,328.333,141.667" RenderTransformOrigin="0.32,2.104" Height="41" />