.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

然后就可以开发项目

.NET Core UI框架Avalonia_java

选择 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";

        }

    }


运行程序

.NET Core UI框架Avalonia_java_02

默认情况下中文显示有点问题,设置字体既可。

不同系统的支持安装: https://github.com/AvaloniaUI/Avalonia/wiki/Platform-support

 

AvalonStudio

目前Avalonia 比较成熟的一个方案。

.NET Core UI框架Avalonia_java_03

GitHub: https://github.com/VitalElement/AvalonStudio

目前官方介绍是有对应功能,实际操作有些缺少。

.NET Core UI框架Avalonia_java_04

AvaloniaEdit.Demo 也是还算不错的示例。

GitHub: https://github.com/AvaloniaUI/AvaloniaEdit

可以查看官方文档:http://avaloniaui.net/guides/   .NET Core 未来更加好。

原文:https://www.cnblogs.com/linezero/p/Avalonia.html

.NET Core UI框架Avalonia_java_05