Skip to main content
net8.0

Avalonia Blazor Bindings enables using Blazor syntax in .razor files to build native Avalonia apps.

Published
Apr 17, 2025
1y ago
Total Downloads
6.3K
6,270

Install

dotnet add package Blazonia --version 0.0.0-alpha.0.889
ProductVersions
.NET
net8.0

README

🪢 Blazonia

Nuget

🤔 这是啥子?

Blazonia可以让开发者使用 Blazor的语法来开发 Avalonia程序。相比原版Avalonia的axmal语法, Blazonia使用的Blazor语法更加的简洁和简单,只需要单个文件即可完成页面的开发。适用于中小型规模的客户端程序。

✨ 请注意

  • 🚫 使用Blazonia后不会有任何的HTML代码以及Webview组件
  • 🤩 完全使用原生Avalonia控件

得益于Avalonia跨平台的特性,Blazonia可以让开发者快速的编写出漂亮的像素完美级的 💻 电脑, 📱 手机 和 🌐 网页 应用程序

🌰 这是一个小例子

@page "/"

<Window Title="Counter" Width="600" Height="400">
    <StackPanel>
        <Label FontSize="30">You pressed @_count times </Label>
        <CheckBox @bind-IsChecked="_showButton">Button visible</CheckBox>
        @if (_showButton! == true)
        {
            <Button OnClick="OnButtonClick">+1</Button>
        }
    </StackPanel>
</Window>

@code {

    int _count;
    
    bool? _showButton = true;
    
    void OnButtonClick() => _count++;
}

Counter

🛫 开始

  1. 安装项目模板
dotnet new install BlazoniaTemplate
  1. 新建项目
dotnet new blazonia -o BlazoniaApp

请使用Rider打开项目,Visual Studio 2022和VS Code razor文件代码提示可能会失效

📄 说明

Blazonia复刻自https://github.com/Epictek/Avalonia-Blazor-Bindings分支,经过Micosoft、Dreamescaper、warappa和Epictek等开发者维护。

Blazor的语法入门门槛极低,对新手十分友好,但是原仓库看起来并不是活跃,所以我将继续维护该仓库,由于原名称在nuget上已经占用,我将其更名Blazonia(Blazor + Avalonia),以便于后续上传nuget库和项目模板🙂。

Changes from Previous Version

No structural changes between v0.0.0-alpha.0.888 and v0.0.0-alpha.0.889.

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

This version is marked prerelease. Validate its API and upgrade path before production use.Compatibility metadata lists 1 target framework; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.