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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更改刻度线和滑块控件以显示较小的数字相关的知识,希望对你有一定的参考价值。

我试图让用户将滑块拖动到它们的重量。我无法正确识别滴答数。目前,我有它,所以刻度是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)。

<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" />

以上是关于更改刻度线和滑块控件以显示较小的数字的主要内容,如果未能解决你的问题,请参考以下文章

SpectrumJS、拖动器和滑块位置问题与显示:无容器

QML 滑块刻度线在开始和结束时带有文本

以编程方式快速添加不同数量的标签和滑块

selenium+java 关于图形化滑块的处理

MFC slider可以设置为(0,1)范围吗?对应的text可以显示带%的数字吗?

如何在 WPF C# 中更改滑块上刻度的设计(刻度的厚度、刻度的形状等)