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++;
}- 安装项目模板
dotnet new install BlazoniaTemplate
- 新建项目
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库和项目模板🙂。