Я хочу передать параметр из моего представления в мой ViewModel, когда выполняется ReactiveCommand, связанный с элементом управления. Параметр должен быть типа IJcUser
ReactiveUI: как правильно передать параметр ReactiveCommand.CreateFromTask
Так я определяю команду:
public ReactiveCommand<IJcUser, Unit> UserTouchCommand;
UserTouchCommand = ReactiveCommand.CreateFromTask(user => RootViewModel.DisplayUserProfile(user));
подпись DisplayUserProfile
выглядит
Task DisplayUserProfile(IJcUser user);
Но компилятор жалуется, потому что user
от типа CancelationToken
и не как ожидалось IJcUser
Я, наконец, нашел решение, но не понимаю, почему первый подход не сработал.
UserTouchCommand = ReactiveCommand.CreateFromTask<IJcUser>(RootViewModel.DisplayUserProfile);
не Если компилятор сможет получить это из декларации командования? – Thomas
Нет. Как уже упоминалось, как предполагается, что ваш func является Func, а не Func или Func , если вы не скажете об этом? Это невозможно. –
mm8
Очень полезно передать параметр 'ReactiveCommond.CreateFromTask'. ReactiveUI делает это очень запутанным здесь (много перегруженных типов, типов вычетов и необязательных параметров) и всегда заставляет меня чувствовать себя отчаянным. – Felix