ReactiveUI CanExecute
От: vaa  
Дата: 01.03.23 10:16
Оценка:
Есть предположение почему не блокируется команда? начальное состояние SelectedItem: null
            var canExecute = this.WhenAnyValue(x => x.SelectedItem)
                .Select(x => x is not null)
                .ObserveOn(RxApp.MainThreadScheduler);

            canExecute.Subscribe(async x => await dialogService.ShowMessageBox("Удаление.", new MarkupString($"Удалить <b>{x}</b>?")));
          
            GetSystemList = ReactiveCommand.CreateFromTask(systemManager.GetList);
            Delete = ReactiveCommand.CreateFromTask(DeleteItem, canExecute);


РЕШЕНО!
Вообщем, трудности перевода(гоу на русский?).
Явный вызов команд не проверяет возможность. Только ui-фрэймворк так умеет.
Поправка. InvokeCommand также учитывает canexecute.
✊ В мире нет ничего, кроме движущейся материи.
Отредактировано 22.03.2023 3:47 Разраб . Предыдущая версия . Еще …
Отредактировано 02.03.2023 3:16 Разраб . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.