CommandManager.InvalidateRequerySuggested не вызывает повторный запрос на CanExecute в MVVM-Light

Я использую 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;
    }

У меня есть код, который изменяет значение isRevertEnabled, но связанная кнопка не меняется. После некоторого поиска я обнаружил, что вы можете использовать для принудительной переоценки состояний кнопок

// force the GUI to re-evaluate the state of the buttons
CommandManager.InvalidateRequerySuggested();

Но это не работает. Есть ли у кого-нибудь предложения?

8
задан Andrea 17 May 2011 в 09:04
поделиться