在軟體開發中,處理使用者輸入是一個常見的任務,同時也時常伴隨著數據驗證的需求。
在 WPF 或其他 Windows 平台的 MVVM 架構中,要完成數據驗證,可以選擇使用 ValidationRule、IDataErrorInfo 和 INotifyDataErrorInfo 這幾個類別或接口。
其中 IDataErrorInfo 和 INotifyDataErrorInfo 的部分為 interface ,不僅要進行實作以外,因 MVVM 架構也需要一併實作 INotifyPropertyChanged 。而在 ViewModel 實作上,綁定的屬性也需要撰寫許多涉及 Property 的程式碼,使的開發的過程稍嫌繁瑣。
本篇的主題, CommunityToolkit.Mvvm 套件提供了實作 MVVM 架構時所需要的物件,其中的一個部分便是關於數據驗證,其中提供的物件,不只實作了 INotifyDataErrorInfo 與 INotifyPropertyChanged 等, MVVM 所需實現的interface外,同時也有提供方便的 Attribute 來簡化程式碼。
本次將進行該套件的數據驗證物件並使用 WPF 的示範。
在WPF開發中(或其他Windows框架),若要實現MVVM架構的話,通常需要實作 INotifyPropertyChanged、ICommand,這兩個 interface 。自己先前的習慣是,從網路上找其他人寫好的實作,複製到自己的專案中使用,且每開一次新專案,就複製一份。
某天如往常地尋找資料時,發現了微軟在 Nuget 上的 CommunityToolkit.Mvvm 套件(也稱為MVVM工具包)。該套件不但實作了MVVM所需要的物件,還提供一些好用的 Attribute ,讓程式碼可以更精簡,從而讓開發人員更專注在重要的程式邏輯中。
關於 CommunityToolkit.Mvvm 套件使用方法,預計拆分成幾篇不同主題的文章,而本次將記錄,在未使用此套件之前的做法,接著套件的安裝方法、基本使用,以及如何使用其提供的 Attribute 功能。
2 / 2