.NET Core UI 框架Avalonia

2018 年 3 月 20 日 DotNet

(点击上方蓝字,可快速关注我们)


来源:LineZero

cnblogs.com/linezero/p/8467338.html


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


看完本文有收获?请转发分享给更多人

关注「DotNet」,提升.Net技能 

淘口令复制以下红色内容,再打开手淘即可购买

范品社,使用¥极客T恤¥抢先预览(长按复制整段文案,打开手机淘宝即可进入活动内容)

登录查看更多
0

相关内容

.NET 框架(.NET Framework) 是由微软开发,一个致力于敏捷软件开发、快速应用开发、平台无关性和网络透明化的软件开发平台。
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
《动手学深度学习》(Dive into Deep Learning)PyTorch实现
专知会员服务
119+阅读 · 2019年12月31日
【强化学习资源集合】Awesome Reinforcement Learning
专知会员服务
93+阅读 · 2019年12月23日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
22+阅读 · 2019年11月7日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
使用 C# 和 Blazor 进行全栈开发
DotNet
6+阅读 · 2019年4月15日
已删除
将门创投
7+阅读 · 2019年3月28日
Python用于NLP :处理文本和PDF文件
Python程序员
4+阅读 · 2019年3月27日
从webview到flutter:详解iOS中的Web开发
前端之巅
5+阅读 · 2019年3月24日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
React Native 分包哪家强?看这文就够了!
程序人生
13+阅读 · 2019年1月16日
2018年7月份GitHub开源项目排行榜
算法与数据结构
15+阅读 · 2018年8月3日
GitHub上12月份最热门开源项目
程序猿
4+阅读 · 2018年1月9日
Video-to-Video Synthesis
Arxiv
9+阅读 · 2018年8月20日
Efficient and Effective $L_0$ Feature Selection
Arxiv
5+阅读 · 2018年8月7日
VIP会员
相关VIP内容
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
《动手学深度学习》(Dive into Deep Learning)PyTorch实现
专知会员服务
119+阅读 · 2019年12月31日
【强化学习资源集合】Awesome Reinforcement Learning
专知会员服务
93+阅读 · 2019年12月23日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
22+阅读 · 2019年11月7日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
相关资讯
使用 C# 和 Blazor 进行全栈开发
DotNet
6+阅读 · 2019年4月15日
已删除
将门创投
7+阅读 · 2019年3月28日
Python用于NLP :处理文本和PDF文件
Python程序员
4+阅读 · 2019年3月27日
从webview到flutter:详解iOS中的Web开发
前端之巅
5+阅读 · 2019年3月24日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
React Native 分包哪家强?看这文就够了!
程序人生
13+阅读 · 2019年1月16日
2018年7月份GitHub开源项目排行榜
算法与数据结构
15+阅读 · 2018年8月3日
GitHub上12月份最热门开源项目
程序猿
4+阅读 · 2018年1月9日
Top
微信扫码咨询专知VIP会员