【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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:001775
用户头像

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

关注

评论

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

实时通信全链路质量追踪与指标体系构建

融云 RongCloud

通信云 Qoe

从小公司到大厂,从8K到30K-一个iOS开发的艰辛路程

iOSer

ios iOS面试

SoFlu,让 DevOps 更进一步

SoFlu软件机器人

DevOps 敏捷开发

微信业务架构图和学生管理系统架构

Geek_cb2b43

如何轻松集成多厂家推送服务

融云 RongCloud

消息推送

12年高级工程师的“飞升之路”,Java知识点总结合集

Java 程序员 后端

13分钟彻底搞懂分布式系统服务注册与发现原理,写给互联网大厂员工的真心话

Java 程序员 后端

TDSQL:解锁数据库前沿技术要点 | 腾讯云数据库DTCC 2021亮点回顾

腾讯云数据库

tdsql

低代码平台的爆火,会导致程序员失业吗?

J2PaaS低代码平台

低代码 低代码开发 低代码平台

告别传统压测:全链路压测在中通的实践分享

TakinTalks稳定性社区

全链路压测 系统稳定高可用 性能压测 电商大促 系统保障

浅谈云上攻防——CVE-2020-8562漏洞为k8s带来的安全挑战

腾讯安全云鼎实验室

漏洞分析

恒源云(GpuShare)_训练指引

恒源云

深度学习

自定义View:measureChildWidthMargins

Changing Lin

10月月更

10年阿里开发架构师经验分享:rabbitmq教程go,Java零基础入门pdf

Java 程序员 后端

万物智联与烟火人间,一场跨越20年的双向奔赴

脑极体

首例“微服务+国产分布式数据库”架构,TDSQL助力昆山农商行换“心”

腾讯云数据库

数据库 tdsql

【活动报名】首次 「Apache ShardingSphere Dev Meetup 」期待你的参与!

SphereEx

开源 ShardingSphere 技术沙龙 Meetup SphereEx

在阿里云ECS服务器上部署OpenVPN

wong

Centos 7 OpenVPN ECS

12道Java高级面试题:开课吧数据分析百度云,大厂Java开发面试解答

Java 程序员 后端

15个经典面试问题及回答思路,Java面试你必须要知道的那些知识

Java 程序员 后端

2020-2021京东Java面试真题解析,在线面试指南

Java 程序员 后端

TDSQL助力建设数字政务

腾讯云数据库

数据库 tdsql

新里程碑!TDSQL金融核心系统客户数国内领先

腾讯云数据库

tdsql

「The Data Way」1024 特别节目|一线工程师的开源路

SphereEx

开源 开源社区 开源青年

你的 APP 能否精准「推送」击中用户?!

融云 RongCloud

消息推送 双十一

腾讯云数据库TDSQL PG版重磅升级:查询性能提升百倍

腾讯云数据库

tdsql

微信的业务架构图

张平

架构实战营

做一名真正的软件工程师

百度开发者中心

程序员 最佳实践 分享 工程师

5G、元宇宙和被重新定义的社交出海

融云 RongCloud

移动CRM软件是销售人员必备办公工具

低代码小观

管理 软件 移动 CRM CRM系统

1200页文档笔记,Java+JVM+MySQL+数据结构与算法

Java 程序员 后端

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