有人可以解释我如何使用Command(Action,CanExecute)

时间:2017-11-20 21:42:52

标签: c# xamarin.forms

当我的5个条目得到验证时,我希望CanExecute转向true

现在我已经将它绑定到我的发送按钮

SendCommand = new Command(() => SendData());

我不知道如何使用CanExecute以及如何在验证所有5个条目时将此值设置为true。

有人提供参考或建议吗?

1 个答案:

答案 0 :(得分:1)

感谢@Scott张伯伦。抱歉这个愚蠢的问题......它就像你期望的一样容易。

SendCommand = new Command(() => SendData(),() => CanSend());

编辑:确保添加EventHandler并将其提升到布尔值的设置者中。

public event EventHandler CanExecuteChanged;

我这样做了:

public bool CanExecute()
    {
        if (IsValid1 && IsValid2 && IsValid3 && IsValid4 && IsValid5)
        {
            return true;
        } else
        {
            return false;
        }
    }

并且喜欢

public bool IsValid1 
    {
        get => _isvalid1;
        set
        {
            _isvalid1 = value;
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(IsValid1)));
            ((Command)SendCommand).ChangeCanExecute();
        }
    }