在自己实现MVVM时,上一篇的实现方式基本是不用,因其对于命令的处理不够方便,没写一个命令都需要另加一个Command的类。此篇主要介绍DelegateCommand来解决上面所遇到的问题。
首先,我们创建自己的DelegateCommand。
代码如下:
1 | /// <summary> |
其中的重点是利用两个委托,将方法的实现分离出去,接下来看我们的ViewModel:
1 | class TestViewModel : INotifyPropertyChanged |
其中的Test,CanTest就是之前写在Command中的实现,通过此实现,我们可以将界面呈现逻辑全部集中到ViewModel中。
其界面还是一样使用上一篇的。