写点什么

微软开源 XAML Behaviors

  • 2016-02-24
  • 本文字数:985 字

    阅读完需:约 3 分钟

长期以来,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

2016-02-24 18:003392
用户头像

发布了 1008 篇内容, 共 447.4 次阅读, 收获喜欢 346 次。

关注

评论 1 条评论

发布
用户头像
果然Unity走在GUI开发的最前沿,强烈建议Vue3抄作业,把Behaviour添加到Composition API中。
2021-04-01 12:21
回复
没有更多了
发现更多内容

YashanDB 知识库|导入 dump 报错 YAS-00218?试试这一招快速定位

数据库砖家

数据库

YashanDB 知识库|虚拟机重启后 YMP 无法启动?先看看 8093 端口谁在用

数据库砖家

数据库

麦杰工业数据底座亮相德阳,为工业设备管理贡献力量

麦杰研究院

从架构设计到核心组件深度解析SpringCloudAlibaba一站式解决方案

程序员高级码农

架构师 SpringCloud Alibaba spring-cloud

YashanDB V23.3 正式发布:迈向企业核心系统的 1:1 替代新阶段

数据库砖家

数据库

YashanDB:樊文飞院士观点速递|中国软件的未来:自强、自立、自信

数据库砖家

数据库

YashanDB|别彬彬:金融科技进入智能化深水区,数据+逻辑才是新范式

数据库砖家

数据库

YashanDB 知识库|exp 导出 CSV 报错 YAS-00218?别忘了这一步

数据库砖家

数据库

活动报名丨在旧金山&硅谷,遇见 Voice Agent 开发者&创业者

RTE开发者社区

HarmonyOS App 购物助手工具的开发与设计

网罗开发

鸿蒙 HarmonyOS HarmonyOS NEXT

《算法导论(第4版)》阅读笔记:p10-p10

codists

算法

远程访问代理+内网穿透:火山引擎边缘网关助力自部署模型公网调用与全链路管控

火山引擎边缘云

网关 火山引擎 大模型 私有化部署 LLM

Voila:开源端到端全双工语音模型,延迟 195 毫秒;Gemini 2.5 Pro 预览版发布,视频理解能力提升丨日报

RTE开发者社区

YashanDB王南演讲精要|YAC 集群:为核心系统而生的平替路径

数据库砖家

数据库

逻辑可视化的进化:从图灵完备到量子计算

代码制造者

AI编程

技术解读|YashanDB 共享集群 V23.3:从架构到底层的全面升级

数据库砖家

数据库

麦杰工业数据底座亮相德阳,为工业设备管理贡献力量

麦杰科技

YashanDB 知识库|OM 仲裁节点异常?如何手动切换主备并重新纳管数据库集群

数据库砖家

数据库

HarmonyOS App 如何实现全网比价工具

网罗开发

鸿蒙 HarmonyOS HarmonyOS NEXT

我在 Google L4 面试中的经验和教训

Nackydeng

程序员求职 谷歌面经 北美求职 google interview

5月13日观测云发布会:这一次,我们不只是发布产品

观测云

产品发布会

YashanDB演讲纪要|崖山科技陈志标:坚持自主原创,走长期主义之路

数据库砖家

数据库

办公常用的AI工具有哪些?8个流行的AI软件盘点!

职场工具箱

人工智能 PPT AIGC AI工具 AI生成PPT

【HarmonyOS】鸿蒙实现刻度尺

鸿蒙 HarmonyOS HarmonyOS NEXT 实践分享

第二章:数据治理的边界在哪里

数据小吏

数据治理

微软开源XAML Behaviors_.NET_Jonathan Allen_InfoQ精选文章