avalonia
avalonia
ZEROKO14Avalonia: 是一个用于 .NET 平台的跨平台 UI 框架,支持 Windows、macOS 和 Linux。适合对 .NET 开发、跨平台开发以及想要使用现代的 UI 框架的开发者。
MIT开源 开源地址
avalonia介绍
| 特性 | Uno Platform | Avalonia |
|---|---|---|
| 框架类型 | 跨平台UI工具 | 跨平台UI工具 |
| 支持的平台 | Windows, macOS, iOS, Android, Web, Linux | Windows, macOS, iOS, Android, Web, Linux |
| 编程语言 | C#, XAML, JavaScript | C#, XAML, F#, JavaScript |
| UI设计 | 基于XAML | 基于XAML |
| 社区和支持 | 活跃的社区,微软支持 | 不断发展的社区,社区驱动支持 |
| 性能 | 在支持的平台上表现良好 | 在支持的平台上表现良好 |
| 学习曲线 | 中等 | 中等 |
| 灵活性 | 具有高度灵活性,可使用XAML和C# | 具有高度灵活性,可使用XAML和多种语言 |
| 文档 | 详细的文档 | 良好的文档 |
环境配置
vscode相关插件
vscode可视化界面开发支持插件: Avalonia for VSCode
vscode中用于快捷初始化各种模板的插件 Avalonia Templates
vscode中支持xaml代码补全插件: Avalonia XAML
rider相关插件
AvaloniaRider插件:包含可视化界面开发,代码提示和自动补全等
rider相关设置
快捷键相关
自动引入包
使用vscode系列快捷键的时候,自动引入包的快捷键将为ctrl+.如果无法操作,原因是因为与微软输入法/微信输入法中切换中英文符号的快捷键冲突了
Code completion
下面未验证
代码补全默认是 ctrl + i / ctrl + space,ctrl + space 和 mac 的输入法切换是冲突的。
ctrl + i 和 ide 操作快捷键有冲突。所以这里直接重新分配了 alt + / 和 alt + shift + /,给到基本和补全当前语句上,因为我只觉得这2个有用。
自动补全结束标签
打开Settings -> Editor -> General -> Smart Keys。
确保Automatically insert closing tag选项已启用。
相关代码片段记录
propdp
1 | public static readonly DependencyProperty $PropertyName$Property = |
propfull
1 | private $Type$ _${PropertyName}$$; |
propp
用于prism框架的通知机制
cmd
1 | private RelayCommand _$CommandName$; |
cmdfull
1 | private RelayCommand _$CommandName$; |
设置保存时格式化代码
设置-工具-保存时的操作 设置为::重新设置代码格式
项目创建
创建新的Avalonia项目:
dotnet new avalonia.app -o MyApp下面命令安装项目模板,如果你你还没有安装他们:
dotnet new install Avalonia.Templates
最后在VS Code中打开MyApp文件夹,打开任何axaml文件来激活扩展和代码完成。
vs插件相关插件
Avalonia for Visual Studio: 自动补全,ui可视化开发
Avalonia Toolkit: 创建Avalonia模板
Avalonia
使用 C# 和 XAML
开发桌面、嵌入式、移动和 WebAssembly 应用程序。最流行的 .NET UI 客户端技术
使用prism
Prism.Avalonia 是一个强大的UI框架,旨在增强您的跨平台应用程序,特别为基于Avalonia的项目设计。它拥抱了IoC(Inversion of Control)容器、导航机制以及消息传递等关键MVVM模式组件,让Avalonia应用的构建更加高效、有序。此项目秉承Microsoft的模式与实践,为开发者提供了一个开放源码的选择,帮助他们以类似WPF的逻辑和流程开发Avalonia应用,尽管两者间存在一些差异。
1 | 对于最新预览版支持Avalonia v11.x |