我正在开发一个WPF MVVM应用程序。我注意到的一件事是,我不得不编写大量样板代码来声明命令(通过WPF团队的MVVM工具包中的DelegateCommands)、附加属性和附加行为。有没有可用的策略可以减少我需要编写的样板代码量?
谢谢!
我正在开发一个WPF MVVM应用程序。我注意到的一件事是,我不得不编写大量样板代码来声明命令(通过WPF团队的MVVM工具包中的DelegateCommands)、附加属性和附加行为。有没有可用的策略可以减少我需要编写的样板代码量?
谢谢!
就我个人而言,我喜欢Josh Smith的MVVM Foundation库。他在那里使用了一个名为RelayCommand
的类,但它听起来与您从工具包中使用的DelegateCommand
非常相似。它允许您创建一个命令并通过lambda表达式传递CanExecute和Execute逻辑。这将有助于减少大量样板代码。
在他的博客中,Josh还谈到了使用通用属性观察器来避免一些混乱的PropertyChanged
事件处理方面。这也值得研究。
说实话,很多所谓的“样板”代码都是为您的应用程序建立一个非常动态和灵活的基础。如果您正在制作一个小型、易于维护的应用程序,您可能会问自己,“我甚至需要在这里应用MVVM模式吗?”如果另一方面,您正在制作一个寿命长、需要大量维护的大型应用程序,那么这些样板代码将在以后为您省下很多麻烦。
using PropertyChanged;
[ImplementPropertyChanged]
public partial class Order
{
}