Как передать несколько параметров RelayCommand?
Возможный дубликат:
Передача двух параметров команды с использованием привязки WPF
Мне нужно, чтобы отправить два параметра моей RelayCommand, как:
public RelayCommand<String,Int> MyCommand {get;set;} Or
public RelayCommand<EventArgument,String> MyCommand {get;set;}
2 ответа
Решение
Оберните их в объект:
public RelayCommand<MyModel> MyCommand { get; set; }
где MyModel будет содержать два свойства:
public class MyModel
{
public int Id { get; set; }
public string Name { get; set; }
}
Вы можете использовать отдельный класс модели для передачи нескольких параметров. И чтобы инициализировать их, вы можете использовать элементы xaml следующим образом:
<Button Command="{Binding YourCommand}">
<Button.CommandParameter>
<YourNS:YourModel Id="{Binding PathForId}" Name="{Binding PathForName}"/>
</Button.CommandParameter>
</Button>
Это создаст новый объект YourModel для передачи в команду, а затем инициализирует его свойства через привязки.