0

我有一个Slider控件和一个TextBlock显示Slider通过数据绑定的值的控件。

问题是它显示一个浮点数,我对一个整数感兴趣。

我想将浮点数转换为整数,所以我不会在 中看到45.25139664804483TextBlock我只会看到45

4

3 回答 3

3

您可以StringFormatTextBlock绑定上使用来格式化小数位

<StackPanel>
    <TextBlock Text="{Binding Value, ElementName=slider/>
    <TextBlock Text="{Binding Value, ElementName=slider, StringFormat={}{0:0}}" />
    <Slider x:Name="slider" />
</StackPanel>

结果:

在此处输入图像描述

于 2013-03-19T05:27:16.870 回答
2

试试这个Slider_ValueChanged

textBox.Value = (int)Math.Ceiling(45.25139664804483);
于 2013-03-19T04:45:03.140 回答
0
 private void Slider_ValueChanged_1(object sender, RoutedPropertyChangedEventArgs<double> e)
 {
      myTextBlock.Text = Convert.ToInt32(Math.Floor(e.NewValue));
 }

希望这可以帮助。带绑定:

int _myValue;
public int MyValue{get{return _myValue;}set{_myValue = value; NotifyPropertyChanged("MyValue");}}

  private void Slider_ValueChanged_1(object sender, RoutedPropertyChangedEventArgs<double> e)
     {
          MyValue = Convert.ToInt32(Math.Floor(e.NewValue));
     }

        public event PropertyChangedEventHandler PropertyChanged;

        private void NotifyPropertyChanged(String info)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(info));
            }
        }

在这种情况下,您的类需要实现INotifyPropertyChanged接口

于 2013-03-19T04:44:14.240 回答