Wpf 源代码更改时文本框值未绑定到MVVM中的属性
绑定文本框的ViewModel代码如下Wpf 源代码更改时文本框值未绑定到MVVM中的属性,wpf,silverlight,xaml,mvvm,Wpf,Silverlight,Xaml,Mvvm,绑定文本框的ViewModel代码如下 private float _maxKaxCalculate; public float MaxKaxCalculate { get { return _maxKaxCalculate; } set { if (value != _maxKaxCalculate) {
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未在视图中获取该值。需要UI刷新还是需要BeginInvoke?请建议。如果您设置
_maxKaxCalculate = 0;
不会有关于更改的通知。使用
MaxKaxCalculate = 0;
将属性的setter与通知一起使用