小编And*_*rea的帖子

CommandManager.InvalidateRequerySuggested不会导致MVVM-Light中的CanExecute重新查询

我正在使用MVVM-Light RelayCommand

private ICommand myRevertCmd;
public ICommand Revert
    {
        get
        {
            if (myRevertCmd == null)
            {
                myRevertCmd = new RelayCommand(RevertExecute, CanRevertExecute);
            }

            return myRevertCmd;
        }
    }

    private void RevertExecute()
    {
        searchType = SearchType.Revert;
        SearchStart();
    }

    private bool CanRevertExecute()
    {
        return isRevertEnabled;
    }
Run Code Online (Sandbox Code Playgroud)

我有一些代码可以更改isRevertEnabled的值,但链接按钮不会更改.经过一些搜索,我发现你可以用来强制重新评估按钮状态

// force the GUI to re-evaluate the state of the buttons
CommandManager.InvalidateRequerySuggested();
Run Code Online (Sandbox Code Playgroud)

但这不起作用.有没有人有什么建议?

wpf mvvm-light

8
推荐指数
3
解决办法
9848
查看次数

标签 统计

mvvm-light ×1

wpf ×1