最近有朋友反饋,能否分享一下Avalonia相關的文章,于是就抽空學習了一下,發現Avalonia真的是一款非常不錯的UI框架,值得花時間認真學習一下,于是邊學習邊記錄,整理成文,分享給大家,希望可以一起學習,共同進步。
什么是Avalonia?
Avalonia是一款開源的跨平臺UI框架,它是.NET基金會的一部分,專為創建靈活且美觀的用戶界面而設計。Avalonia 支持多種應用程序開發平臺,包括 Windows、Linux、macOS、iOS、Android 和 WebAssembly。同時Avalonia基于現代.NET技術棧,后臺允許采用C#或其他.NET語言編寫代碼,UI頁面采用XAML語言,同樣兼容WPF的樣式系統,布局系統和綁定基礎設施模型,之前學習WPF的同學可以無縫銜接,幾乎是零成本學習。
Avalonia的特點
通過與其他UI框架進行對比,Avalonia具有如下特點:
- 跨平臺設計:與 WPF 專為 Windows 開發不同,Avalonia 是從一開始就被設計為跨平臺框架。它支持 Windows、Linux、macOS、iOS、Android、WebAssembly 等多個平臺,能夠在所有這些平臺上提供一致的外觀和體驗。
- 獨立渲染:Xamarin.Forms 依賴目標平臺的原生控件進行渲染,而 Avalonia 擁有自己的渲染引擎。這意味著它不使用操作系統的原生 UI 控件,而是自己繪制整個用戶界面。這提供了高度的靈活性和自定義能力。
- 靈活的樣式系統:Avalonia 使用類似于 WPF 的強大樣式系統。它使用樣式來定義控件的外觀,與 Xamarin.Forms 不同,這些樣式可以根據控件狀態動態調整,并且可以在繼承層次結構中繼承。
- XAML 和 code-behind: 與 WPF 和 Xamarin.Forms 一樣,Avalonia 允許您使用 XAML 定義用戶界面,這是許多 .NET 開發人員熟悉的標記語言。您還可以直接在代碼中操作用戶界面,使您能夠選擇適合您的應用程序的正確方法。
- 開源和社區驅動:Avalonia 是一個開源項目,擁有活躍的社區為其開發做出貢獻。這意味著它會根據社區的反饋和需求不斷發展和改進。
環境安裝
正所謂“工欲善其事,必先利其器”使用Avalonia之前需要先安裝UI模板和插件,才能夠創建Avalonia項目。
1. 安裝模板
AvaloniaUI模板,可以通過運行如下命令進行安裝:
dotnet new install Avalonia.Templates
打開命令行窗口,然后輸入安裝UI模板命令,進行安裝,如下所示:
2.安裝Avalonia擴展
在Visual Studio 2022中,安裝基于Avalonia的擴展,首先打開Visual Studio 2022,然后點擊“擴展(X)”菜單,再點擊“管理擴展(M)”子菜單,打開管理擴展窗口,在“管理擴展”窗口搜索關鍵字“Avalonia”,在擴展列表中選擇“Avalonia for Visual Studio 2022”進行下載即可,如下所示:
然后在彈出的安裝向導中,點擊"Modify",同意協議并進行安裝,如下所示:
等待安裝擴展
安裝完成
創建Avalon項目
環境配置好以后,就可以創建項目啦,首先打開Visual Studio,創建項目,在項目模板頁面的搜索框輸入“Avalonia”就可以看到已經安裝的Avalonia模板,然后選擇“Avalonia C# Project”,點擊“下一步”,如下所示:
在項目配置頁面,輸入項目名,此處為“FirstAvalonia”,然后點擊“創建”按鈕,如下所示:
在彈出的New App頁面選擇目標平臺,和設計模式,然后點擊“創建”,如下所示:
創建成功后,解決方案中包含兩個項目,其中“FirstAvalonia”是在每個平臺之間共享的主要項目,“FirstAvalonia.Desktop”是針對桌面平臺的特定項目,如下所示:
項目運行
在創建項目后,將“FirstAvalonia.Desktop”設置為啟動項目,然后點擊Visual Studio 工具欄中的運行按鈕或者F5快捷鍵,進行啟動程序。
若是報“當前 .NET SDK 不支持將 .NET 8.0 設置為目標。請將 .NET 7.0 或更低版本設置為目標,或使用支持 .NET 8.0 的 .NET SDK 版本。 ”錯誤,表示Visual Studio 2022未安裝.NET 8.0,如下所示:
可以選擇項目,然后點擊右鍵,在屬性配置頁面修改程序的目標框架,如下所示:
重新運行項目,如下所示:
當看到Welcome to Avalonia,恭喜你,第一Avalonia項目運行成功啦!!!