我正在一个WPF应用MVVM。那我注意到的事情是,我必须写的样板代码了过多刚(从WPF团队的MVVM工具包通过DelegateCommands)宣布命令,附加属性和附加的行为。是否有可用来减少我写的样板代码量的任何策略?

谢谢!

有帮助吗?

解决方案

就个人而言,我喜欢约什 - 史密斯的 MVVM基业库。他采用了一种名为RelayCommand有阶级,但听起来很相似,你DelegateCommand从工具包。它可以创建一个命令并通过 CanExecute 执行通过lambda表达式的逻辑。这将有助于减少大量的样板代码。

他博客,约什也谈到了使用通用属性观察员避免一些PropertyChanged事件处理的混乱方面。也就是说值得探讨,以及

老实说,虽然,很多所谓的“样板”代码设置为你的应用动态的,非常灵活的基础。如果你是一个小的,易于维护的应用程序,你可能会问自己,的“我甚至需要在这里申请MVVM模式?” 的如果,另一方面,你是一个更大的应用程序,将具有寿命长,并且需要大量的维护,那么这个样板代码是要保存下来就行了。

其他提示

我发现我正在写大量的代码经由INotifyPropertyChanged接口来实现改变通知。为了减少这种我发现了一个NuGet包称为PropertyChanged.Fody,使得增加INotifyPropertyChanged的一个类的属性非常简单。

下面是如何使用它;

using PropertyChanged;

[ImplementPropertyChanged]
public partial class Order
{
}

现在在班上会有财产的任何公共财产变更通知。这是特别有用,通过数据库生成EF类第一,你没有对你的实体的完全控制。

请参阅的GitHub 获得更多的信息。

最明显的策略我能想到使用代码段和/或文件模板的。它不会减少代码的行,但至少它让你节省时间。

您可以让他们自己(或者找一些你可以直接导入到Visual Studio)。

我个人使用来自洛朗•比尼翁的MVVM光工具包,我用自己的代码片段/文件模板,他们救了我大量的时间。我会假设存在于大多数流行的MVVM工具包类似的东西。

希望它能帮助!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top