Следующая строка вызывает исключение времени выполнения:
Accept = ReactiveCommand.Create(this.WhenAnyValue(x => x.Canexecute()));
Вот код:
public class InstructionsViewModel : ReactiveObject
{
public InstructionsViewModel()
{
Accept = ReactiveCommand.Create(this.WhenAnyValue(x => x.CanExecute));
Accept.Subscribe(x =>
{
Debug.Write("Hello World");
});
}
public ReactiveCommand<object> Accept { get; }
bool _canExecute;
public bool CanExecute { get { return _canExecute; } set { this.RaiseAndSetIfChanged(ref _canExecute, value); } }
}
Ошибка:
Невозможно преобразовать лямбда-выражение в тип IObserver, потому что это не тип делегата
Я также пробовал следующее:
public InstructionsViewModel()
{
Accept = ReactiveCommand.Create(this.WhenAnyValue(x => x.Canexecute()));
Accept.Subscribe(x =>
{
Debug.Write("Hello World");
});
}
public ReactiveCommand<object> Accept { get; }
public bool Canexecute() => true;
Я получаю следующую ошибку:
Исключение типа System.NotSupportedException произошло в ReactiveUI.dll, но не было обработано в пользовательском коде.
Дополнительная информация: Индексные выражения поддерживаются только с константами.
Поддерживается ли это даже в Windows Phone 10?