.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 未來更加好。
原文:https://www.cnblogs.com/linezero/p/Avalonia.html
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com 
總結
以上是生活随笔為你收集整理的.NET Core UI框架Avalonia的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 听说你开发.NET还在用VS,小哥哥给你
- 下一篇: 揽货最短路径解决方案算法 - C# 蚁群
