ビアデータバインディングの値を示すコントロールSlider
とaがあります。TextBlock
Slider
問題は、floatが表示され、整数に関心があることです。
floatを整数にキャストしたいので、を表示する代わりに45.25139664804483
、TextBlock
を表示します45
。
ビアデータバインディングの値を示すコントロールSlider
とaがあります。TextBlock
Slider
問題は、floatが表示され、整数に関心があることです。
floatを整数にキャストしたいので、を表示する代わりに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
この場合、クラスはインターフェースを実装する必要があります