Avalonia UI入门教程:从零开始学习 – wiki词典


Avalonia UI 入門教程:從零開始學習

1. 什麼是 Avalonia UI?

Avalonia UI 是一個開源的跨平台 UI 框架,允許開發者使用 C# 和 XAML 創建美觀且響應迅速的桌面應用程式。它支援 Windows、macOS、Linux (Xorg 和 Wayland)、iOS、Android,甚至 WebAssembly,這意味著您可以使用一套程式碼庫覆蓋所有主流平台。Avalonia 的設計靈感來源於 WPF (Windows Presentation Foundation),對於有 WPF 或 UWP 開發經驗的開發者來說會非常熟悉。

核心優勢:
* 跨平台: 一套程式碼,多平台運行。
* 靈活的 UI 設計: 透過 XAML 實現強大的介面描述和樣式設定。
* MVVM 支援: 易於整合 Model-View-ViewModel (MVVM) 設計模式,提高程式碼可維護性。
* 活躍的社群: 作為開源專案,擁有積極的開發者社群和不斷更新的功能。

2. 環境準備 (Prerequisites)

在開始編寫您的第一個 Avalonia 應用程式之前,您需要準備以下開發環境:

  1. .NET SDK: 推薦安裝 .NET 8 SDK 或更高版本。您可以從 Microsoft 官方網站 下載。

    • 檢查安裝: 打開終端或命令提示字元,輸入 dotnet --version,確保顯示的版本是 8.x.x 或更高。
  2. IDE (整合開發環境):

    • Visual Studio (Windows/macOS): 推薦使用 Visual Studio 2022 或更高版本,並確保安裝了「.NET 桌面開發」工作負載。
    • Visual Studio Code (跨平台): 如果您偏好輕量級編輯器,可以使用 VS Code,並安裝 C# 擴充功能。
    • JetBrains Rider (跨平台): 一款功能強大的 .NET IDE,也非常適合 Avalonia 開發。
  3. Avalonia 專案模板: 透過 .NET CLI 安裝 Avalonia 專案模板,這將幫助您快速建立新專案。
    打開您的終端或命令提示字元,執行以下命令:

    bash
    dotnet new install Avalonia.Templates

    • 檢查安裝: 執行 dotnet new list avalonia,您應該能看到 Avalonia 相關的專案模板清單。

接下來,我們將開始創建您的第一個 Avalonia 專案。### 3. 建立您的第一個 Avalonia 專案 (Project Setup)

準備好環境後,我們就可以創建一個新的 Avalonia 應用程式專案了。

步驟 1: 建立專案資料夾

首先,創建一個您想存放專案的資料夾。例如,在您的桌面上創建一個名為 AvaloniaGettingStarted 的資料夾。

bash
mkdir AvaloniaGettingStarted
cd AvaloniaGettingStarted

步驟 2: 使用模板建立專案

在終端或命令提示字元中,導航到您剛才創建的資料夾,然後執行以下命令來創建一個新的 Avalonia MVVM 應用程式:

bash
dotnet new avalonia.mvvm -o MyAvaloniaApp

  • avalonia.mvvm:這是我們之前安裝的 Avalonia 專案模板之一,它會創建一個基於 MVVM 設計模式的專案結構。
  • -o MyAvaloniaApp:指定了輸出資料夾名稱為 MyAvaloniaApp。專案檔和程式碼將會在這個資料夾中生成。

步驟 3: 專案結構概覽

進入新創建的 MyAvaloniaApp 資料夾 (cd MyAvaloniaApp),然後打開您偏好的 IDE (例如 Visual Studio 或 VS Code)。您會看到類似以下的專案結構:

MyAvaloniaApp/
├── App.axaml // 應用程式的 XAML 定義,包含全局資源和樣式
├── App.axaml.cs // App.axaml 的後端程式碼 (Code-behind)
├── Program.cs // 應用程式的進入點
├── ViewLocator.cs // MVVM 中的視圖定位器
├── Views/
│ └── MainView.axaml // 主視窗的 UI 定義
│ └── MainView.axaml.cs // MainView.axaml 的後端程式碼
├── ViewModels/
│ └── MainViewModel.cs // 主視窗的 ViewModel
│ └── ViewModelBase.cs // 所有 ViewModels 的基類
└── MyAvaloniaApp.csproj // 專案檔

重要檔案說明:

  • Program.cs: 這是應用程式的啟動檔案,包含了 Main 方法,負責初始化 Avalonia UI 框架並啟動應用程式。
  • App.axaml / App.axaml.cs: 定義了應用程式級別的資源、樣式和應用程式生命週期事件。它是所有視窗的父級。
  • Views/MainView.axaml: 這是我們應用程式主視窗的 XAML 定義。您將在這裡設計 UI。
  • ViewModels/MainViewModel.cs: 這是 MainView 的 ViewModel,負責處理業務邏輯和資料,並透過資料綁定與 MainView 互動。

現在,我們來看看如何理解 XAML 語法,以及它如何定義我們的應用程式介面。### 4. XAML 基礎 (XAML Basics)

XAML (Extensible Application Markup Language) 是一種基於 XML 的聲明式語言,用於定義應用程式的使用者介面。在 Avalonia 中,您使用 XAML 來描述 UI 元素的結構、外觀和行為。

打開 Views/MainView.axaml 檔案,您會看到類似以下的內容:

“`xml





滚动至顶部