Avalonia-.NET 的跨平台 UI 框架

简介

Avalonia 是 dotnet 的跨平台 UI 框架,提供灵活的样式系统并支持 Windows、Linux、macOS 等多种操作系统。Avalonia 已经成熟并且可以投入生产。我们还在测试版中支持 iOS、Android,并在早期阶段通过 WASM 支持浏览器。

使用

在WPF中,当你在xaml文件中定义完UI并设置x:Name就可以在后台中直接使用对象名称进行操作.那是因为vs在你设计时自动生成了.g.i.cs文件(你可以在/obj中看到)

而ava中不同,你需要在后台中自己Get到这个UI对象(与Android类似): 例如:

axaml中定义一个名称为 TB_Title的TextBlock文本标签:

在cs中定义并更改标签内容:

TextBlock TB_Title = this.Get("TB_Title");
TB_Title.Text = "嘻嘻";

这里就用到了this.Get(string Name)方法

T:表示对象类型 Name:为x:Name中定义的名称

注意:在后台查找UI对象 若不是局部变量 应需考虑 时序问题 否则在使用时对象可能是null

建议将所有的控件优先查找出来(如果你控制得比较好可以不用..)

有几点比较坑的地方:

1.直接在axaml中定义事件有时候不会成功,可以在后台中定义,例如:

Click Me
void Btn_Click(object sender, RoutedEventArgs args)
{
   //...
}

若不成功可以:

this.Get

当然还有很多更加强大的功能,请查阅官方文档

Avalonia-.NET 的跨平台 UI 框架_第1张图片

文档地址

https://docs.avaloniaui.net/docs/getting-started/programming-with-avalonia

Github地址

https://github.com/AvaloniaUI/Avalonia 

最后大家如果喜欢我的文章,还麻烦给个关注并点个赞, 希望net生态圈越来越好!

你可能感兴趣的:(java,python,android,javascript,linux)