AICon日程100%就绪,9折倒计时最后一周 了解详情
写点什么

微软开源 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:002846
用户头像

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

关注

评论 1 条评论

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

CPU 执行程序的秘密,藏在了这 15 张图里

Java架构师迁哥

Java 中的Exception 有什么用?

Braisdom

Java Exception

汇编入门第一篇,小白也能看懂

苹果看辽宁体育

后端 计算机 汇编

翻译之深入注释俄罗斯民间故事的语料库,以实现对俄罗斯形式主义理论的机器学习

AI代笔

【第四周】系统架构

云龙

一个草根的日常杂碎(10月6日)

刘新吾

随笔杂谈 生活记录 社会百态

为什么有了SOA,我们还用微服务?

架构师修行之路

微服务

十一长假我肝了这本超硬核PDF,现决定开源!!

冰河

项目管理 jenkins 互联网工程 持续发布

高难度对话读书笔记——聆听篇2

wo是一棵草

Kubeless 如何基于 CPU 自动伸缩? | 玩转 Kubeless

donghui

Serverless kubeless

终于我用JOL打破了你对java对象的所有想象

程序那些事

JOL java对象分析 对象空间占用 java对象

架构师训练营 1 期第 4 周:系统架构 - 总结

piercebn

极客大学架构师训练营

甲方日常 28

句子

工作 随笔杂谈 日常

我的openEuler社区参与之旅

openEuler

Linux 开源 操作系统 openEuler

TensorFlow 篇 | TensorFlow 2.x 模型 Serving 服务

Alex

tensorflow keras tensorflow serving model serving

涂鸦红外物联网设备开箱使用

良知犹存

物联网 测评

做好微服务架构,并非易事!!

架构师修行之路

微服务

一个草根的日常杂碎(10月8日)

刘新吾

随笔杂谈 生活记录 社会百态

服务器的发展历史

德胜网络-阳

并发和Read-copy update(RCU)

程序那些事

并发 并发和RCU RCU

第三周作业一

dll

中国银行正式启动区块链产业金融服务项目 ​

CECBC

区块链 金融 金融服务

典型的大型互联网系统使用了哪些技术方案和手段,主要解决什么问题?

极客海

再看传记:试图进入和理解他人的生活

Nydia

MySQL-技术专题-MySQL的索引

洛神灬殇

个人数字人民币钱包即将亮相

CECBC

央行 数字人民币

区块链 | 最火的七大职业了解一下

CECBC

区块链技术人才

spring-boot-route(十四)整合Kafka

Java旅途

Java kafka Spring Boot

读10x程序员有感。

杨鹏Geek

程序员 10X工作法

Spring 学习笔记(二)Spring中的一些概念

无语

Spring Framework

一个草根的日常杂碎(10月7日)

刘新吾

随笔杂谈 生活记录 社会百态

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