滑块控件给出奇数值?

时间:2017-02-09 09:53:35

标签: c# wpf

好的,所以我知道我可以通过文本框上的一些字符串格式来解决这个问题,但是这让我很烦恼,为什么会发生这种情况。我有一个滑块控件,它将从viewmodel获取其max,min和precision值,具体取决于它加载到哪个页面。

作为一个例子,我对这些值进行了硬编码。

    <DockPanel VerticalAlignment="Center"
               Margin="40,0,0,0"
               Height="100">
        <TextBox Text="{Binding ElementName=Slider, Path=Value, UpdateSourceTrigger=PropertyChanged}"
                 DockPanel.Dock="Top"
                 TextAlignment="Right"
                 Width="634"
                 Margin="0,0,0,20" />
        <Slider DockPanel.Dock="Bottom"
                Name="Slider"
                Width="634"
                Padding="0"
                Maximum="5000"
                Minimum="-5000"
                SmallChange="0.01"
                LargeChange="0.01"
                TickFrequency="0.01"
                SnapsToDevicePixels="True"
                IsSnapToTickEnabled="True" />
    </DockPanel>

我知道我可能不需要这些属性中的一些,但是他们试图解决这个问题。

大部分情况都有效,滑块被限制在两位小数。但我注意到(特别是大范围),我仍然得到随机值,忽略了这一点。例如,当我设置-5000到5000的范围时,我仍然会随机获得80.20000002之类的值。

我知道我可以将一个字符串格式应用到文本框来解决问题,(尽管设置精度的viewmodel有点烦人)只是想知道它为什么会发生。

顺便说一句,用户还需要能够使用键盘设置值,这又完美无缺,但我想知道是否有办法让滑块文本框加入小数点,而后面没有数字。

0 个答案:

没有答案