我是新来的MVVM模式,我想写我自己的自定义命令。编写自定义命令的最佳方法是什么? (我在这里和那里阅读了很多文章,但无法获得创建我的命令的想法)。特别是如果有人可以帮助我创建一个命令的想法,单击一个按钮后,从一个ListView中获取项目并将其放入另一个。 (列表视图绑定到ObservableCollection)。提前致谢!如何创建我自己的自定义命令
0
A
回答
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
)。您只需将方法传递给其构造函数即可。
相关问题
- 1. 定义我自己的命令
- 2. 如何在ESP8266模块中创建自己的自定义AT命令?
- 3. 如何创建我自己的Jaxb2RootElementHttpMessageConverter自定义版本?
- 4. 如何创建我自己的自定义按钮?
- 5. 如何创建我自己的自定义地图
- 6. 如何创建我自己的插件作曲家命令
- 7. 如何在linux中创建我自己的命令
- 8. 自定义命令的创建
- 9. 的Doxygen - 创建自定义命令
- 10. 创建自己的unix命令
- 11. 自定义UITableViewCell重新创建自己
- 12. 如何用自己的控件创建自定义的GTK#Widget?
- 13. 创建zf自定义命令,如zf创建表单
- 14. 创建我自己的自定义标记(JSF 2.0)的问题
- 15. 如何创建自己的自定义转换
- 16. 如何在mediawiki中创建自己的自定义组?
- 17. 我如何创建我自己的自定义功能Closure模板在Plovr
- 18. 难以创建我自己的自定义视图
- 19. 创建我自己的自定义JQuery模板引擎?
- 20. 如何在金字塔1.4中创建自己的命令1.4
- 21. Tmux复制模式:如何创建自己的命令?
- 22. 如何创建我自己的setSVMDetector?
- 23. 如何创建我自己的sap.suite.ui.generic.template.ObjectPage
- 24. 我如何创建自己的clasiifier
- 25. 如何创建我自己的加密?
- 26. 如何创建我自己的承诺?
- 27. 如何创建我自己的UITabBar?
- 28. 如何创建我自己的RecommenderJob?
- 29. 如何创建我自己的ListView UserControl?
- 30. Node.js&npm:如何创建自定义npm cli命令?