【问题标题】:On source change TextBox value is not binding to property in MVVM在源更改文本框值未绑定到 MVVM 中的属性
【发布时间】:2013-09-13 21:47:29
【问题描述】:

我的 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 变量获得了一些正确的值,但 Textbox 在 View 中没有获得该值。是需要刷新 UI 还是需要 BeginInvoke?请提出建议。

【问题讨论】:

    标签: wpf silverlight xaml mvvm


    【解决方案1】:

    如果你设置了

    _maxKaxCalculate = 0;
    

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

    MaxKaxCalculate = 0;
    

    将属性的设置器用于通知。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-12
      • 2016-03-28
      • 2020-04-19
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      • 2012-02-29
      • 1970-01-01
      相关资源
      最近更新 更多