\

看新闻很累?看技术新闻更累?试试下载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)关注我们。

Avalonia Beta 1对WPF做了很多改进相关推荐

  1. 蚂蚁金服CTO鲁肃:支付宝成就了我,我做了很多“拧螺丝”的事儿

    他被誉为支付宝技术平台的奠基人之一,但是他却说"这还不是我心中最完美的架构":他曾是支付宝史上最危机关头--停机发布 17 小时的救火大队长,但是在他看来,只是做了很多" ...

  2. 用WPF做了几个小游戏

    最近看书看累了,参考别人的代码(其实差不多就是把代码重新打了一遍o(╯□╰)o),用wpf做了个<2048>小游戏,顺便在<Git教程>学习下git,也顺便把在<写让别人 ...

  3. 云栖大会 | 释放计算弹性,阿里云做了很多

    戳蓝字"CSDN云计算"关注我们哦! 时至今日,已经没有人怀疑云计算是最主流的企业IT基础设施之一.围绕云计算最基础最核心的话题计算力,探讨在新硬件.新技术和新场景带来的机遇和挑战 ...

  4. 【子桓说】你的确做了很多工作!但和挣钱没什么关系

    子桓说,荒唐说.大家好,我是子桓. 仔细观察你的生活周边,是不是有些人好像不怎么聪明,但是挣到了一些钱?而有些人好像挺聪明的,但好像就是没挣过什么钱? 再观察下你的亲戚长辈里是不是也有这种情况呢? 子 ...

  5. 盖亚奥特曼光量子计算机,阿古茹奥特曼做过很多事情,而这3件事情,是最让他后悔的...

    说起阿古茹奥特曼,在盖亚奥特曼中,和盖亚奥特曼平分秋色.虽然在其他奥特曼作品中,客串的场次没有盖亚奥特曼多,但是阿古茹奥特曼的精彩表现,并不会输给盖亚奥特曼.然后,阿古茹奥特曼前期的表现,很让人捉摸不 ...

  6. 李开复博客透露大学生活 曾做过很多无聊事

    破灭的哈佛.法律.数学梦.上大学前,我的梦想是做一个哈佛人. <script type="text/javascript">show_ads_zone(13);< ...

  7. 解密百度大数据:百度是如何使用hadoop的,并且做了哪些改进?

    引读:百度作为全球最大的中文搜索引擎公司,提供基于搜索引擎的各种产品,几乎覆盖了中文网络世界中所有的搜索需求,因此,百度对海量数据处理的要求是比较高的, 要在线下对数据进行分析,还要在规定的时间内处理 ...

  8. TiDB 4.0 为解决热点问题做了哪些改进?

    作者:李坤 热点问题概述 一直以来,TiDB 的数据访问热点问题,是用户比较关注的问题.为什么这个问题如此突出呢?这其实是"分布式"带来的结构效应.单机数据库由于只有一个节点,是不 ...

  9. 对神经网络某一层做了小改进,效果却提升显著,可以发论文吗?

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 知乎:青春没有终点 编辑:深度学习自然语言处理公众号 链接:见原文链接 学术分享,侵删 ...

最新文章

  1. python 红黑树_python学习笔记|红黑树(性质与插入)
  2. Visual C++ Attribute Programming
  3. 树莓派应用实例5:测量土壤湿度
  4. python File write()方法
  5. Flutter Raw Image Provider
  6. elasticsearch 安装过程中可遇到的问题
  7. kafka 集群服役新节点
  8. 前端程序升级linux方案,开源:AspNetCore 应用程序热更新升级工具(全网第一份公开的解决方案)...
  9. adb发送什么命令能在手机屏幕弹窗显示_如何通过命令给手机刷机
  10. 教你快速高效接入SDK——总体思路和架构
  11. C#监听关注或取消关注微信服务号并获取openid和unionid
  12. VTN联合GWI共同启动“全球健康登月计划”让更多人享受到健康新生活
  13. Oracle EBS 后台提交请求集 FND_SUBMIT.SUBMIT_PROGRAM
  14. powerpoint预览_如何添加,删除和重新排列PowerPoint幻灯片
  15. 什么是JavaBeans
  16. 在vue中实现picker样式_vue中van-picker的多列联动数据格式如何设置以及调用
  17. Mac新机初步环境配置
  18. 维深集团荣获2004年物流与采购信息化优秀方案大奖
  19. [脚本]百度网盘直接下载助手:解决客户端限制
  20. CPU 使用率低高负载的原因,看看这篇!

热门文章

  1. mvc html validator,ASP.NET MVC实现Validation验证器扩展
  2. python 投资组合_重新设计投资组合的好处
  3. java eleven进度条
  4. vi和vim 的常用操作
  5. as3文本框的动态拖拽和编辑
  6. tcp有限状态机分析
  7. 使用IAR开发CC2530遇到的两个问题
  8. spring mvc 入门配置
  9. HTML5 Canvas 画纸飞机组件
  10. 基于事件的 NIO 多线程服务器