Реализовать класс для WPF вместо Xamarin
Пытаюсь подключить обработку Hubs для SignalR в WPF приложении. Вот статья по которой пытался реализовать данное подключение https://metanit.com/sharp/aspnet5/30.12 . Она написана для Xamarin Forms и у неё есть класс Command который я не могу определить. Может кто-нибудь подскажет как возможно это сделать?
Пробовал реализовать класс Command при помощи интерфейса ICommand (using System.Windows.Input).
public class Command : ICommand
{
private Action<object> execute;
private Func<object, bool> canExecute;
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
public Command(Action<object> execute, Func<object, bool> canExecute = null)
{
this.execute = execute;
this.canExecute = canExecute;
}
public bool CanExecute(object parameter)
{
return this.canExecute == null || this.canExecute(parameter);
}
public void Execute(object parameter)
{
execute(parameter);
}
}
Когда я пытаюсь инициализировать, то получаю ошибку
var SendMessageCommand = new Command(async () => await SendMessage(), () => IsConnected);
Ответы (1 шт):
Автор решения: VladD
→ Ссылка
Ваш конструктор принимает первым аргументом функцию от одного аргумента, а вы передаёте функцию от нуля аргументов.
Попробуйте так:
new Command(o => SendMessage(), o => IsConnected)
