.NET Core UI框架Avalonia
.NET Core UI框架Avalonia,Avalonia是一个基于WPF XAML的跨平台UI框架,并支持多种操作系统:Windows(.NET Framework,.NET Core),Linux(GTK),MacOS,Android和iOS。
Avalonia目前处于测试阶段。
GitHub:https://github.com/AvaloniaUI/Avalonia
开发准备
VS 2017安装扩展 https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaforVisualStudio
然后就可以开发项目
选择 Avalonia Application ,就可以创建一个项目,默认有两个会创建两个框架.NET Framework 4.6.1和.NET Core 2.0。
在项目中可以创建Window 和UserControl。
示例UI项目
新建一个基础项目myapp,将MainWindow.xaml 添加几个按钮,就是WPF XAML 的语法,直接可以实现对应布局。
<Window xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="myapp"> <Grid Width="800" Height="600"> <StackPanel Margin="20"> <Button Content="Button1" Name="btn1"/> <Button Content="Button2"/> <Button Content="Button3"/> <TextBox Text="LineZero" Name="myText"></TextBox> </StackPanel> </Grid> </Window>
后台对应代码
public class MainWindow : Window { public MainWindow() { InitializeComponent(); #if DEBUG this.AttachDevTools(); #endif } private void InitializeComponent() { AvaloniaXamlLoader.Load(this); this.FindControl<Button>("btn1").Click += Btn1_Click; } private void Btn1_Click(object sender, Avalonia.Interactivity.RoutedEventArgs e) { var txt = this.FindControl<TextBox>("myText"); txt.FontFamily = "微软雅黑"; txt.Text = "LineZero 按钮1"; } }
运行程序
默认情况下中文显示有点问题,设置字体既可。
不同系统的支持安装: https://github.com/AvaloniaUI/Avalonia/wiki/Platform-support
AvalonStudio
目前Avalonia 比较成熟的一个方案。
GitHub: https://github.com/VitalElement/AvalonStudio
目前官方介绍是有对应功能,实际操作有些缺少。
AvaloniaEdit.Demo 也是还算不错的示例。
GitHub: https://github.com/AvaloniaUI/AvaloniaEdit
可以查看官方文档:http://avaloniaui.net/guides/ .NET Core 未来更加好。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
2017-02-24 .NET Core log4net 使用