Stylet 介绍
Stylet 介绍
Stylet是受Caliburn.Micro启发的最小但功能强大的MVVM框架。其目的是进一步降低复杂性和魔力,使不熟悉任何MVVM框架的人员(同事)可以更快地加快速度。
它还提供了Caliburn.Micro不具备的功能,包括其自己的IoC容器,简便的ViewModel验证,甚至是与MVVM兼容的MessageBox。
低的LOC数量和非常全面的测试套件使其成为使用和验证/验证SOUP的项目费用高昂的项目的有吸引力的选择,其模块化工具包启发式体系结构意味着您可以轻松地仅使用所需的位或替换你不会的。
简短的功能列表如下所示。请点击右侧的链接以了解更多信息。
A ViewModel-First approach
视图知道如何实例化其ViewModel且视图模型通常不直接通信的经典MVVM结构称为“视图优先”。但是,反转此模式-自己实例化ViewModels并自动附加视图-提供了许多优点,使您可以以非常熟悉的方式来编写ViewModels。此ViewModel-first方法是Stylet支持的唯一方法。
Actions
WPF使用的ICommand接口功能强大,但在MVVM体系结构中使用时却笨拙。应该将ViewModel为响应按钮单击之类的动作而采取的动作表示为属性而不是方法,这似乎是不对的。每次单击按钮时,都会有一个简单的原因导致DoSomething()ViewModel上的调用。此外,如果您有一个名为的bool属性CanDoSomething,则该属性将被观察并用于告诉您该按钮是启用还是禁用。
Actions 也可以与事件配合使用,使您可以执行。
Screens and Conductors
Screen类提供了许多使它成为ViewModel有吸引力的基类的功能:PropertyChanged通知,验证以及在显示/隐藏/关闭时通知的功能以及控制是否以及何时可以关闭它的功能。
The Event Aggregator(事件汇总器)
Stylet的Event Aggregator与Caliburn.Micro的非常相似,它使订户可以在不了解对方或保留对方的情况下接收来自发布的消息。尽管它还有许多其他用途,但它对于在ViewModels之间进行消息传递特别有用。
The WindowManager(窗口管理器)
使用ViewModel-first方法,您可以通过引用要显示的ViewModel来显示窗口和对话框,并且View将自动附加。WindowManager允许轻松完成此操作。
还提供了与MVVM兼容的MessageBox实现,因此您不必自己动手。
Validation(验证方式)
传统上,在MVVM中进行验证有点麻烦:每个需要验证的ViewModel中都需要大量样板,而如何做到这一点的资源也很少。
Stylet带有一个框架,用于获取您喜欢的验证库(例如FluentValidation),并处理运行中的验证并将结果报告给View。
StyletIoC
Stylet带有自己的轻量级且非常快速(但仍功能强大)的IoC容器,尽管您可以根据需要轻松使用另一个容器。
MIT许可证
Stylet是根据MIT许可证分发的,该许可证允许您修改Stylet并将其包含在商业项目中,而无需注明出处(唯一的限制是您必须包括许可证的副本)。如果您需要,我愿意根据具体情况重新授权。