Stylet介紹
Stylet 是一個小型但功能強大的 ViewModel 優先的 MVVM 框架,適用于 WPF (.NET 4.5.2+ 和 .NET Core 3.0+),它允許您編寫易于測試的可維護和可擴展的代碼。
Stylet 的目標是:
解決沒有框架時阻礙 MVVM 開發的障礙、煩惱和不便,使用簡單但強大的概念。
對于第一次接觸您項目的人員來說是顯而易見的:幾乎沒有什么魔法。
易于驗證/驗證。代碼行數較少,并附有非常全面的測試套件。代碼編寫良好且文檔齊全。
提供靈活性同時提供合理的默認值。框架的幾乎任何部分都可以根據需要重寫,但您可能不需要這樣做。
它受到 Caliburn.Micro 的啟發,分享了其許多概念,但去除了大多數魔法(用更強大的替代方案替換),并通過僅針對 MVVM、WPF 和 .NET 4.5.2 大幅簡化了部分功能。
GitHub地址:https://github.com/canton7/Stylet
![image-20250811225734949]()
如何快速入門
第一,有一個Samples,克隆代碼之后,可以先打開這個示例項目。
通過運行這幾個項目,可以快速了解Stylet提供了什么功能。
![image-20250811230504582]()
第二,查看官方文檔。
Style的官方文檔地址:https://github.com/canton7/Stylet/wiki
作者通過這幾個方面進行了說明:
![image-20250811230613931]()
現在就一起簡單地看看Stylet的一些概念與設計!!
首先最重要的就是ViewModel優先!!
經典的MVVM結構中,視圖知道如何實例化其ViewModel,而ViewModel通常不會直接通信,這種模式被稱為視圖優先。然而,反轉這種模式——自己實例化ViewModel,然后讓視圖自動附加——提供了許多優勢,使你可以以一種非常熟悉的方式組合你的ViewModel。這種ViewModel優先的方法是Stylet唯一支持的方法。
在Stylet中可以通過ViewModel自動綁定到對應的View,這樣的話,就可以這樣寫:
![image-20250811231018609]()
在xaml文件中可以通過ViewModel找到對應的視圖,非常方便!!
第二點就是Action!!
WPF 中使用的 ICommand 接口功能強大,但在 MVVM 架構中使用時顯得笨拙。讓 ViewModel 中響應按鈕點擊等操作的方法表示為屬性而不是方法似乎不合邏輯。一個簡單的