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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM