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";         }     }
复制代码

运行程序

<