BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

微软开源XAML Behaviors

| 作者 Jonathan Allen 关注 614 他的粉丝 ,译者 谢丽 关注 12 他的粉丝 发布于 2016年2月25日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

长期以来,XAML Behaviors都是WPF/Silverlight开发中一个令人懊恼的部分。尽管用处极大,但该库的分发和维护方法有些奇怪。随着XAML Behaviors开源公告的发布以及相应NuGet包的创建,该问题最终得到了解决。

XAML Behaviors非常重要,因为它们提供了一种方法,让开发人员能够以一种简洁、可重复的方式轻松地向UI对象添加功能。他们无需创建控件的子类或重复编写逻辑代码,只要简单地增加一个XAML代码片段。下面的例子摘自Anoop Madhusudanan题为“Silverlight和WPF中的Behaviors、Triggers和Actions让事情变得简单”的博文:

诸如MouseDragElementBehavior这样的行为有OnAttached和OnDetaching方法。这些方法主要是用于添加事件处理函数,虽然它们也可以以一种使用常规XAML语法无法实现的方式修改属性。

XAML Behaviors的应用通常要视具体情况而定。不过,如果将行为与附属属性配对,就可以借助样式更广泛地应用它们。

所有这些便利都是有代价的。XAML Behaviors是作为Blend System.Windows.Interactivity库的一部分提供。由于是在.NET之外单独提供,所以常常很难获得它。即使在大部分库在NuGet上提供了之后,开发人员常常还是不得不求助于由好心的开发人员所提供的非官方程序包,其中(有望)包含该库的真实版本。即使到现在,也很难弄清楚哪个才是官方支持的版本。

随着XAML Behaviors for UWP发布,所有这一切正在发生变化。最重要的是,XAML Behaviors现在开源了,其库托管在GitHub上。官方NuGet程序包包括UWP原生托管版本。

贡献模型

Jon Chu写道:

一个由微软最有价值专家(MVP)领导者组成的委员会将会评估贡献,以确保项目的质量和发展方向。该项目委员会将会接收和评论社区提交的pull request。

随着开源项目的发展,会有更多的贡献者为Behaviors作贡献,我们计划调整项目结构,向为项目增添最大价值的贡献者授权。不管是通过代码、文档,还是其他改进Behaviors的方式,我们的目标是让社区对Behaviors有更大的控制权,并授权用户构建和添加他们最希望看到的特性。

WPF支持

有关WPF支持方面,Jon Chu写道:

截至目前,XAML Behaviors还没有针对WPF的开源版本。不过,我们愿意继续发展Behaviors。针对WPF等的跨平台Behaviors当然在路线图上,如果社区对此感兴趣,我们将来当然会带来新的Behaviors。

查看英文原文:Microsoft Open Sources XAML Behaviors

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

Silverlight! by Lee Jerin

可以把Silverlight开源了

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT