用于绑定文本框的我的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?请提示。
答案 0 :(得分:0)
如果您设置
_maxKaxCalculate = 0;
不会有关于此更改的通知。使用
MaxKaxCalculate = 0;
使用带有通知的属性的setter。