Как определить «canExecute» из CommandParameter с ReactiveUI? - PullRequest
0 голосов
/ 19 декабря 2018

Я могу создать подобную команду, которая проверяет некоторые свойства моей модели представления, если она может выполняться:

AddNewSectionCommand = ReactiveCommand
    .CreateFromTask(() => AddNewSectionAsync(NewSectionTitle),
                    this.WhenAny(x => x.NewSectionTitle, x => !string.IsNullOrWhiteSpace(x.Value)));

Возможно ли это сделать для CommandParameter, который я передаю через WPFи если как?Потому что иногда я напрямую хочу использовать что-то в пользовательском интерфейсе в качестве параметра команды, но также хочу проверить правильность ранее.До сих пор мне приходилось делать это, привязывая значение к свойству модели представления и используя вышеизложенное, которое загромождает мои модели представлений множеством лишних вещей.

1 Ответ

0 голосов
/ 19 декабря 2018

Нет, CommandParameter для canExecute отсутствует.Маршрут свойства vm - это путь.Все примеры типа «начало работы» ReactiveUI всегда использовали этот метод (например, имя пользователя / пароль), что имеет смысл, потому что vm должен отвечать за определение выполнимости.Одной из основных причин является то, что модульное тестирование намного проще.Поэтому я чувствую, что дополнительные свойства / свойства, добавляемые в vm, того стоят и вовсе не лишние.

...