.NET Core UI框架Avalonia,Avalonia是一個基於WPF XAML的跨平臺UI框架,並支持多種操做系統:Windows(.NET Framework,.NET Core),Linux(GTK),MacOS,Android和iOS。git
Avalonia目前處於測試階段。github
GitHub:https://github.com/AvaloniaUI/Avaloniaapp
開發準備
VS 2017安裝擴展 https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaforVisualStudio框架
而後就能夠開發項目ide
選擇 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>
後臺對應代碼ui
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"; } }
運行程序this
默認狀況下中文顯示有點問題,設置字體既可。
不一樣系統的支持安裝: 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 將來更加好。