1

我的 ViewModel 代码绑定我的文本框如下

private float _maxKaxCalculate;
        public float MaxKaxCalculate
        {
            get { return _maxKaxCalculate; }
            set
            {
                if (value != _maxKaxCalculate)
                {
                    _maxKaxCalculate = value;
                    OnPropertyChanged("MaxKaxCalculate");                    
                }
            }
        }
        public void CalculateMaxKaz()
        {            
            if (CouponList.Count > 0)
            {
                _maxKaxCalculate = 1;
                foreach (CouponDC cDC in CouponList)
                {
                    _maxKaxCalculate *= cDC.Rate;
                }
                _maxKaxCalculate *= Convert.ToSingle(TutarValue);
            }
            else
                _maxKaxCalculate = 0;

            _maxKaxCalculate = Convert.ToSingle(Math.Round(_maxKaxCalculate, 2));

        }

        private float _tutarValue;
        public float TutarValue
        {
            get { return _tutarValue; }
            set
            {
                if (value != _tutarValue)
                {
                    _tutarValue = value;
                    OnPropertyChanged("TutarValue");
                }
            }
        }

我的视图部分具有以下文本框代码

<TextBox Width="65" Text="{Binding Path=MaxKaxCalculate,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged,StringFormat=N2}" Style="{StaticResource Input1}" Grid.Row="3" Grid.Column="3" HorizontalAlignment="Left" Margin="0,2,0,3"  />

我的 _maxKaxCalculate 变量获得了一些正确的值,但文本框在 View 中没有获得该值。是需要刷新 UI 还是需要 BeginInvoke?请建议。

4

1 回答 1

0

如果你设置

_maxKaxCalculate = 0;

不会有关于更改的通知。利用

MaxKaxCalculate = 0;

将属性的设置器与通知一起使用。

于 2013-09-13T21:54:30.707 回答