• .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 未来更加好。

  • 相关阅读:
    vb6 控件未注册问题解决
    Collection of algorithm for sorting. 常见排序算法集(二)
    Unity中uGUI的多分辨率处理
    大型站点技术架构PDF阅读笔记(一):
    GTK入门学习:glade的介绍
    java io (java输入输出流)具体解释
    python类的继承
    Python基础二--基本控制语句
    restlet Framework2.2和2.3版本号的对照
    crm创建团队设置团队的业务部门
  • 原文地址:https://www.cnblogs.com/linezero/p/Avalonia.html
Copyright © 2020-2023  润新知