WPF:为什么我的滑块没有显示标签

时间:2015-06-16 04:26:41

标签: wpf slider styles

<Grid Margin="405,192,170,450" >
    <Slider Name="speedSlider" Value="1" Style="{StaticResource SliderStyle}" HorizontalAlignment="Left" VerticalAlignment="Bottom"
        Minimum="0" Maximum=" 50" TickFrequency="5" TickPlacement="None" Width="160"/>
    <Label Name="lblSliderSpeed" Content="{Binding ElementName=speedSlider, Path=Value, UpdateSourceTrigger=PropertyChanged}"
             Grid.Column="1" VerticalAlignment="Bottom" HorizontalAlignment="Right" ContentStringFormat="{}{0:#}"/>
</Grid>

我的label显示当前slide value value更改但minimum value(0)label未显示任何内容value private void speedSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) { double value = speedSlider.Value; if (value == 0) { lblSliderSpeed.Content = value; } }

我也尝试了这个代码,虽然执行了if,但仍然没有帮助:

  WebElement select;

2 个答案:

答案 0 :(得分:1)

问题在于您ContentStringFormatContentStringFormat改为喜欢这个

<Label Name="lblSliderSpeed" Content="{Binding ElementName=speedSlider, Path=Value, UpdateSourceTrigger=PropertyChanged}"
         Grid.Column="1" VerticalAlignment="Bottom" HorizontalAlignment="Right" ContentStringFormat="{}{0:00}"/>

并且在页面背后无需代码。

因为,“#”自定义格式说明符用作数字占位符符号。如果格式化的值在格式字符串中出现“#”符号的位置有一个数字,则该数字将复制到结果字符串。否则,结果字符串中的任何位置都不存储任何内容。

更多信息'#'形成Here和“0”形成点击here

答案 1 :(得分:0)

您的字符串格式不支持零,请改为使用:

ContentStringFormat="{}{0:#; #;0}"

有关Int。

的字符串格式的更多信息,请参阅this link