2016-08-17 97 views
0

我是新来的MVVM模式,我想写我自己的自定义命令。编写自定义命令的最佳方法是什么? (我在这里和那里阅读了很多文章,但无法获得创建我的命令的想法)。特别是如果有人可以帮助我创建一个命令的想法,单击一个按钮后,从一个ListView中获取项目并将其放入另一个。 (列表视图绑定到ObservableCollection)。提前致谢!如何创建我自己的自定义命令

回答

0

只需实现ICommand接口。网络上有很多甚至在nuget包中实现。用ICommand搜索RelayCommand或DelegateCommand,你会发现很多实现。完成后,您只需将命令中的虚拟机私有方法包装好即可。例如

ICommand startTestCommand; 

public ICommand StartTestCommand { get { return startTestCommand ?? (startTestCommand = new RelayCommand(StartTest)); } 

private void StartTest() 
{ 
    //This will execute if the Command is bound in XAML 
} 

要在XAML绑定命令(假设你的视图模型的数据上下文)刚刚绑定无论你的命令被称为按钮“StartTestCommand”或Command属性。

因此,本质上你不会为你所要求的“创建你自己的命令”,而是包装一个Command中介的委托来处理阻止耦合。有理由创建你自己的命令,但我会建议使用那里的东西。

0

你只需要实现接口ICommand。大多数MVVM框架都有一个通用的基于委托的命令类来实现它(例如,MVVM中的RelayCommand)。您只需将方法传递给其构造函数即可。

相关问题