写点什么

Avalonia Beta 1 对 WPF 做了很多改进

  • 2018-03-20
  • 本文字数:886 字

    阅读完需:约 3 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Avalonia 将自己定义为“基于 WPF(使用 XAML 、数据绑定以及 lookless 控件等)的跨平台.NET UI 框架。”在第一版公测之后,Avalonia 已经展现了它在旧版WPF XAML 上的有趣改进。

传统XAML 开发的主要烦恼之一是需要创建 ICommand 对象。除非你需要 CanExecute 功能,否则 ICommand 本质上只是一个普通方法的包装程序。而且,这些对象的创建经常会导致大量不必要的样板代码出现在视图模型中。更糟糕的是,数据模型要么暴露这个以 UI 为中心的概念,要么被隐藏在视图模型样式代理的后面。

Avalonia 提供了一个相当明显且简单的解决方案,用户控件上的命令可以直接与方法做数据绑定。如果需要的话,Avalonia 仍然支持 ICommands,但是大多数时候可以忽略 ICommands。

Avalonia 提供的另一个节省时间的方法是对Relative Sources 类的语法支持,使得语句不再那么冗长。比如“{Binding Text, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Border} AncestorLevel=1}}" 你可以写成"{Binding $parent.Text}”。

新预览架构

由于Avalonia 是跨平台的,同样地,它也需要跨平台的开发工具。这种工具一旦成为新的预览架构,那么,与.NET 使用的语言服务器协议一样,预览器将作为一个单独的进程运行。默认情况下,Avalonia 将提供一个已呈现的、通过TCP 传输的位图的IDE。为了使用这个新协议,AvaloniaVS 扩展已经做了相应更新,同时它现在也希望其他IDE 设计者尽快出现!

入门指南

如果你在Windows 上使用Visual Studio,那么针对Visual Studio 扩展版本的Avalonia 提供了必需的工具和项目模板。对于其他平台,你可以使用针对.NET Core 的Avalonia 模板

Avalonia 是在 MIT 的许可下发布的,它正在寻找能够为这个项目贡献时间的开发人员

查看英文原文: Avalonia Beta 1 Brings Many Improvements over WPF


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2018-03-20 19:002256
用户头像

发布了 21 篇内容, 共 13.8 次阅读, 收获喜欢 14 次。

关注

评论

发布
暂无评论
发现更多内容

绘出「星辰大海」:华为云Astro轻应用新手指南Ⅰ

轶天下事

资源成本降低70%!华为MetaERP资产核算的Serverless架构实践

轶天下事

开创以API为核心的数字化变革,华为云实现API全生命周期一体化协作

平平无奇爱好科技

微服务引擎 MSE 全新升级,15 分钟快速体验微服务全栈能力

阿里巴巴云原生

阿里云 微服务 云原生

面部表情识别的技术挑战与解决方案

数据堂

08.25 北京站|阿里云 Serverless 技术实践营( AI 专场)开放报名

阿里巴巴云原生

阿里云 Serverless 云原生

2023-08-24:请用go语言编写。给定一个长度为n的数组arr, 现在你有一次机会, 将其中连续的K个数全修改成任意一个值, 请你计算如何修改可以使修改后的数 列的最长不下降子序列最长。 请输出

福大大架构师每日一题

福大大架构师每日一题

质效提升 | 聊聊QA与业务测试

laofo

DevOps 研发效能 持续交付 质量赋能

Apache Dubbo 和 Apache RocketMQ 邀您参与,ASF 亚洲峰会 5 张门票免费送

阿里巴巴云原生

阿里云 云原生

从孤勇者到边缘云行业翘楚,网心科技做对了什么?

网心科技

What's new in Pika v3.5.0

apache/dubbo-go

数据库 redis kv Redis 7 KV存储

面部表情识别技术在社交互动中的应用

数据堂

面部表情识别技术的神经科学基础

数据堂

Go语言协程池实现第二弹

FunTester

Programming abstractions in C阅读笔记:p127-p129

codists

绘出「星辰大海」:华为云Astro轻应用新手指南Ⅱ

轶天下事

软件开发必读!华为云软件开发生产线CodeArts深度体验指南

平平无奇爱好科技

鼎友餐饮信息总监杨山海:餐饮新增长依托数智应用,用数字化打造单店盈利模型

科创人

Sentieon发布RNAseq加速分析方案

INSVAST

数据分析 基因测序 RNAseq

Sentieon软件应用之公共卫生机构

INSVAST

公共卫生 基因数据分析

小灯塔系列-中小企业数字化转型系列研究——协同OA测评报告

向量智库

Grafana可观测性grpc长链接处理

盈米基金

gRPC 可观测性 Grafana

C++类成员的访问权限以及类的封装

芯动大师

Sentieon数据质控QC模块介绍

INSVAST

数据分析 QC 质控工具

PrecisionFDA:多组学样本错标校正挑战赛

INSVAST

数据分析 PrecisionFDA

八月更新 | CI 构建计划触发机制升级、制品扫描 SBOM 分析功能上线!

CODING DevOps

首期华为云ROMA Connect《企业集成战略与华为数字化之道》高研班在东莞圆满举办

平平无奇爱好科技

提升UMI分析精度和计算效率:Sentieon UMI分子标记处理模块

INSVAST

umi 基因数据分析 技术服务

富士胶片公司完成阿里云 PolarDB 数据库开源产品兼容适配

阿里云数据库开源

polarDB PolarDB for PostgreSQL 阿里云PolarDB

Avalonia Beta 1对WPF做了很多改进_.NET_Jonathan Allen_InfoQ精选文章