gpt4 book ai didi

mvvm - 使用 DataForm 和外部保存按钮

转载 作者:行者123 更新时间:2023-12-03 10:39:20 24 4
gpt4 key购买 nike

我有一个带有 AutoCommit = "False"的 DataForm 和一个绑定(bind)到命令 SaveCommand 的外部保存按钮。

如果我希望在未对数据(我使用 ViewModel)进行任何更改时禁用 Save 命令,我什么时候必须执行 SaveCommand.RaiseECanExecuteChanges()?

最佳答案

我通常会覆盖 RaisePropertyChanged 并将我的 CanExecute 谓词设置为 ViewModel 是否脏。

class ViewModel : ViewModelBase
{
public DelegateCommand SaveCommand { get; set; }
private bool _isDirty;

public ViewModel()
{
SaveCommand = new DelegateCommand(() => OnExecuteSave(), () => CanExecuteSave());
}

private void CanExecuteSave()
{
// do your saving
}

private bool CanExecuteSave()
{
return !_isDirty;
}

protected override void RaisePropertyChanged(string propertyName)
{
base.RaisePropertyChanged(propertyName);
_isDirty == true;
SaveCommand.RaiseCanExecuteChanged();
}
}

希望有帮助。

关于mvvm - 使用 DataForm 和外部保存按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10747043/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com