Иногда мы использовали сложные способы так много раз, мы забыли простейшие способы выполнения задачи.
Я знаю, как выполнять привязку команд, но я всегда использую тот же подход.
Создайте класс, который реализует интерфейс ICommand, и из модели представления я создаю новый экземпляр этого класса, а привязка работает как шарм.
Это код, который я использовал для привязки команд
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = this;
testCommand = new MeCommand(processor);
}
ICommand testCommand;
public ICommand test
{
get { return testCommand; }
}
public void processor()
{
MessageBox.Show("hello world");
}
}
public class MeCommand : ICommand
{
public delegate void ExecuteMethod();
private ExecuteMethod meth;
public MeCommand(ExecuteMethod exec)
{
meth = exec;
}
public bool CanExecute(object parameter)
{
return false;
}
public event EventHandler CanExecuteChanged;
public void Execute(object parameter)
{
meth();
}
}
Но я хочу знать, как это сделать, нет никакой третьей стороны dll нового создания класса. Сделайте это простое связывание команд с помощью одного класса. Фактический класс реализует интерфейс ICommand и выполняет работу.