使用mvvm的“自动更新总计”框

用户名

目前,我希望计算是动态的,并且每次击键时都会变化。我正在尝试使用MVVM来做到这一点,但并不完全确定如何做。

在视图模型中:

public int? Duration { get { return _seb.Duration; } set { _seb.Duration = value;} }
public decimal? Amount { get { return _seb.AmountPer; } set { _seb.AmountPer = value;} }

我有一个total变量,并希望它不断更新。请问我该怎么做。

我尝试过这样的事情,但没有运气

public decimal? Total {get { return _seb.Total; } set { _seb.Total = Amount*Duration; }}
克里斯蒂安·波林

这可以通过在其他两个属性中的任何一个更改时引发total属性的ProperyChanged事件来完成。

public class SomeViewModel : ViewModelBase
{
    private int? _duration;
    private decimal? _amount;

    public int? Duration
    {
        get { return _duration; }
        set
        {
            if (_duration != value)
            {
                _duration = value;
                RaisePropertyChanged("Duration");
                RaisePropertyChanged("Total");
            }
        }
    }

    public decimal? Amount
    {
        get { return _amount; }
        set
        {
            if (_amount != value)
            {
                _amount = value;
                RaisePropertyChanged("Amount");
                RaisePropertyChanged("Total");
            }
        }
    }

    public decimal? Total
    {
        get
        {
            if (Amount.HasValue && Duration.HasValue)
                return Amount.Value * Duration.Value;

            return null;
        }
    }
}

public class ViewModelBase : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    protected void RaisePropertyChanged(string propertyName)
    {
        if (PropertyChanged != null)
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

需要组合框自动更新

来自分类Dev

PHP聊天框:如何自动更新

来自分类Dev

列表框不自动更新

来自分类Dev

使用AJAX自动更新表格

来自分类Dev

使用Lambda自动更新变量

来自分类Dev

使用crontab自动更新git仓库

来自分类Dev

如何使用线程自动更新标签

来自分类Dev

使用javascript自动更新表格

来自分类Dev

自动更新使用Firebase或解析?

来自分类Dev

Firebase 使用 Swift 自动更新值

来自分类Dev

使用 PowerShell/PowerCLI 自动更新 WSUS

来自分类Dev

如何启用Excel VBA组合框自动更新

来自分类Dev

C#-自动更新数据绑定组合框

来自分类Dev

每当对象属性更改时自动更新数据框

来自分类Dev

C#-自动更新数据绑定组合框

来自分类Dev

自动更新Javascript

来自分类Dev

自动更新datagridview

来自分类Dev

自动更新

来自分类Dev

自动更新值

来自分类Dev

密码自动更新

来自分类Dev

使用python使用JSON自动更新MYSQL表

来自分类Dev

使用HockeyApp SDK自动更新应用程序

来自分类Dev

使用TPrototypeBindSource自动更新对象中的属性

来自分类Dev

如何使用Tkinter创建自动更新的GUI?

来自分类Dev

如何使用angularjs自动更新json的连接部分

来自分类Dev

如何使用VBA在Excel中自动更新格式

来自分类Dev

使用新版本自动更新Vue网站/ PWA

来自分类Dev

如何使用自动更新公式而无需拖动

来自分类Dev

使用HockeyApp SDK自动更新应用程序