当前位置: 首页 > news >正文

旅游网站怎么做才能被关注万峰科技.jsp网站开发四酷全书 m

旅游网站怎么做才能被关注,万峰科技.jsp网站开发四酷全书 m,新乐市住房和城乡建设局网站,二手房网站建设书Avalonia 是一个基于 .NET 和 Skia 的开源、跨平台 UI 框架,支持 Windows、Linux、macOS、iOS、Android 和 WebAssembly。Skia 是一个基于 C 的开源 2D 渲染引擎,Avalonia 通过 Skia 自绘 UI 控件,保证在全平台具有一致的观感 基于 .NET 的跨…

Avalonia 是一个基于 .NETSkia 的开源、跨平台 UI 框架,支持 Windows、Linux、macOS、iOS、Android 和 WebAssembly。Skia 是一个基于 C++ 的开源 2D 渲染引擎,Avalonia 通过 Skia 自绘 UI 控件,保证在全平台具有一致的观感

基于 .NET 的跨平台 UI 框架还有 Uno Platform 和 MAUI,其中 Uno Platform 模板工程资源占用高很多而且比较卡顿,MAUI 采用原生控件映射的方式实现跨平台,单个平台缺少的控件在所有平台上都不可用,所以自带控件很少。在 .NET 跨平台桌面 UI 框架中,Avalonia 是比较具有竞争力的选择。当然,如果是开发 Windows 平台应用,还是建议首选 WPF、WinUI3 和 Winform

在这里插入图片描述

尽管 Avalonia 还支持 iOS 和 Android,但实际体验下来 性能和资源占用都比较一般,并且有各种各样的小毛病(如无法跟随深色模式)……官方推进的 Native-AOT 据说性能提升明显,但明确表示该功能会加入付费计划,整体来看不推荐使用。MAUI 虽然也有各种问题,但在移动端的开发体验好很多,因此对于 .NET 跨全平台 方案笔者建议 桌面端使用 Avalonia UI,移动端使用 MAUI

Avalonia 桌面端已支持 Native-AOT 且完全免费,移动端 Native-AOT 处于测试状态,且明确表示将加入付费计划

安装

Avalonia 的安装包括 模板设计预览器 两部分,其中模板是包含了 Avalonia、MVVM 等 nuget 包的脚手架,设计预览器则类似 WPF 中的 designer 预览页面。首先通过命令行安装模板

dotnet new install Avalonia.Templates

根据开发工具安装设计预览器插件,Avalonia 在 Visual Studio、Visual Studio Code 和 Jetbrains Rider 均有插件支持。

Visual Studio

拓展 > 管理拓展 > 搜索安装 Avalonia for Visuall Studuio 2022Avalonia Template Studio

  • Avalonia for Visuall Studuio 2022:包含设计预览器和 xaml 代码补全,若使用 Visual Studio 2019 请安装 Avalonia for Visual Studio 2019

  • Avalonia Template Studio:创建项目时提供更加丰富的可视化支持,如选择平台(Desktop、iOS、Android、WebAssembly)、MVVM 工具包(Reactive UI、CommunityToolkit.Mvvm)等

Visual Studio Code

拓展 > 搜索安装 Avalonia for VSCodeAvalonia Templates

  • Avalonia for VSCode:包含设计预览器和 xaml 代码补全

  • Avalonia Templates:支持右键快速创建 Window、UserControl、TemplatedControl、Styles 和 ResourceDictionary

Rider

设置 > 插件 > 搜索安装 AvaloniaRider

在这里插入图片描述

项目创建

Visual Studio

点击创建新项目

搜索 avalonia 模板,其中部分模板采用 F# 语言开发

在这里插入图片描述

Avalonia C# Project (推荐)

可视化选择平台、MVVM 工具包和特色功能

在这里插入图片描述

  • ReactiveUI:可组合的函数式响应式模型-视图-视图模型 MVVM 框架,基于响应式扩展(Rx)来处理事件和数据流,将一切视为数据流,包括用户输入、属性变化等
    • 优点:提供了管理 ViewModel 和属性的生命周期的方法,避免内存泄漏
    • 缺点:需要在 axaml 对应 cs 文件中进行属性绑定、比较繁琐,且对于初学者而言学习曲线较陡峭
  • Community Toolkit:由 Microsoft 维护和发布,旨在为使用 MVVM 设计模式的应用程序提供一组丰富且易于使用的库
    • 优点:组件丰富,具有强大的代码生成器,上手简单、学习曲线较为平缓
    • 缺点:暂时没感觉有什么缺点,足以覆盖目前笔者的需求

  • Compiled Bindings:Avalonia UI 框架中的一种数据绑定机制,它通过编译时检查和优化来提高应用程序的性能和调试体验。与传统的反射绑定不同,编译绑定在编译时会检查绑定的属性是否存在,从而避免运行时的错误,并且可以显著提高性能
  • Embedded Support
  • Meadow Supppport

点击 Create 完成创建,项目结构如下

默认选中的是类库项目无法启动,首先选中顶层项目,右键设置其为启动项目

点击上方工具栏项目名称即可运行

在这里插入图片描述

Avalonia .NET App

桌面端 最小项目脚手架,仅包含桌面端必需组件

点击创建,项目结构如下

点击运行

Avalonia .NET MVVM App

包含 MVVM 工具包的 桌面端 项目脚手架

View Locator 是 Avalonia 中的视图导航工具,负责将 ViewModel 映射至对应 View,实际应用中可自己实现。默认的 Locator 实现如下

using System;
using Avalonia.Controls;
using Avalonia.Controls.Templates;
using AvaloniaApplication3.ViewModels;namespace AvaloniaApplication3
{public class ViewLocator : IDataTemplate{public Control? Build(object? param){if (param is null)return null;var name = param.GetType().FullName!.Replace("ViewModel", "View", StringComparison.Ordinal);var type = Type.GetType(name);if (type != null){return (Control)Activator.CreateInstance(type)!;}return new TextBlock { Text = "Not Found: " + name };}public bool Match(object? data){return data is ViewModelBase;}}
}

点击创建,项目架构如下

运行结果

Avalonia Cross Platform Application

包含 MVVM 的 跨全平台 项目脚手架

在这里插入图片描述

点击创建,项目架构如下

通过上方工具栏可切换启动项目,Browser 运行结果如下

Visual Studio Code

资源管理器 > Create Avalonia Project

在这里插入图片描述

选择模板,与 Visual Studio 中的模板略有不同,这里的 MVVM 采用 CommunityToolkit.MVVM 不可选择

在这里插入图片描述

在资源管理器中,可以通过 解决方案资源管理器 查看项目,其将 axaml 和 cs 文件折叠在一起看起来比较简洁

在这里插入图片描述

此外还支持右键新建多种模板、添加 Nuget 包等操作

在这里插入图片描述

选中项目 > 右键 > 启动新实例,即可开始调试

在这里插入图片描述

Rider

新建解决方案 > 自定义模板,参考 Visual Studio 中的模板项目结构

参考内容

[1] Get Started with Avalonia

http://www.yayakq.cn/news/607508/

相关文章:

  • 网站asp.net安装环保局网站设计方案
  • 做网站知乎企业网站建设分工
  • 网站建站网站91955小程序一键开发免费
  • 网站开发小图标开发一个功能网站多少钱
  • 站外引流推广渠道房地产开发公司资质等级
  • 在某网站被骗钱该怎么做怎么创建一个公司网站
  • 广西柳州网站制作公司外网访问内网wordpress
  • 手机网站排名优化软件专业建设网站服务
  • 邯郸wap网站制作深圳官网网站建设
  • 网站负责人姓名高端集团官方网站建设公司
  • 水务公司网站建设方案本溪做网站的
  • 潍坊兆通网站建设品牌网站的建设
  • 建成局网站建设找培训机构的网站
  • 东华建设官方网站广东深圳罗湖直客三部
  • 长治企业网站建设价格景观园林设计公司
  • 唐山网站建设赫鸣科技网站上的vR场景贴图怎么做的
  • 网页传奇游戏中心优化大师卸载不了
  • 济南网站建设代理代做seo关键词排名
  • 重庆网站制作一般多少钱公司的网站建设规划书
  • 万网做网站给网站源码哪些店铺适合交换友情链接
  • 什么网站可以做报名系统wordpress开发框架
  • 淮安市网站网站建设普及型
  • 中英文网站源码php平面设计网上培训一般多少钱
  • 枣庄三合一网站开发建设银行鹤岗分行网站
  • 优秀网站及网址wordpress作者权限
  • 公司建设网站申请信用卡吗快手小程序
  • flash制作网站教程aspcms网站打开慢
  • 蜗牛星际做网站服务器环球资源网商务网站建设目的
  • 无锡seo公司网站wordpress动漫风格
  • 周至做网站的公司wordpress内核文件夹