我有一个Slider
控件和一个TextBlock
显示Slider
通过数据绑定的值的控件。
问题是它显示一个浮点数,我对一个整数感兴趣。
我想将浮点数转换为整数,所以我不会在 中看到45.25139664804483
,TextBlock
我只会看到45
。
我有一个Slider
控件和一个TextBlock
显示Slider
通过数据绑定的值的控件。
问题是它显示一个浮点数,我对一个整数感兴趣。
我想将浮点数转换为整数,所以我不会在 中看到45.25139664804483
,TextBlock
我只会看到45
。
您可以StringFormat
在TextBlock
绑定上使用来格式化小数位
<StackPanel>
<TextBlock Text="{Binding Value, ElementName=slider/>
<TextBlock Text="{Binding Value, ElementName=slider, StringFormat={}{0:0}}" />
<Slider x:Name="slider" />
</StackPanel>
结果:
试试这个Slider_ValueChanged
textBox.Value = (int)Math.Ceiling(45.25139664804483);
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
接口