0

ビアデータバインディングの値を示すコントロールSliderとaがあります。TextBlockSlider

問題は、floatが表示され、整数に関心があることです。

floatを整数にキャストしたいので、を表示する代わりに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 に答える