阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

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

关注

评论 1 条评论

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

干货 | 如何实现软件自动化部署?

嘉为蓝鲸

运维 IT 应用发布 应用部署

Baklib|FAQ常见问题对产品推广的重要性

Baklib

产品 FAQ

太牛了,这是我见过把微服务讲的最全最好的SpringCloud架构进阶

程序知音

Java 架构 微服务 SpringCloud 后端技术

超长序列,超快预测!深势科技联手阿里云,AI蛋白质预测再下一城

阿里云大数据AI技术

人工智能 深度学习 企业号九月金秋榜

好像知道的人不多?Spring容器关闭执行销毁方法有几种,看完MQ源码我才知道SmartLifecycle最快

程序知音

Java spring 程序员 后端 框架

零信任态势评估:安全控制自动化

权说安全

零信任 动态评估

TiFlash 源码解读(八)TiFlash 表达式的实现与设计

PingCAP

源码阅读 TiDB TiDB 源码解读

数据治理(八):Atlas集成Hive

Lansonli

数据治理 9月月更

江南农村商业银行容器云平台建设经验分享

BoCloud博云

云计算 云原生 容器云

怎么来选择大数据培训课程

小谷哥

【运营下班指南】有人准点下班,有人凌晨搬砖

HMS Core

分析

库调多了,都忘了最基础的概念-HashMap篇

知识浅谈

HashMap底层原理 9月月更

Spring源码解析(十一)Spring扩展接口InstantiationAwareBeanPostProcessor解析

石臻臻的杂货铺

spring 9月月更

硬实力!旺链科技与蚂蚁、腾讯共同入选国家工信安全中心“区块链优选计划”

旺链科技

区块链 产业区块链 Baas 企业号九月金秋榜 融合创新

访问控制系统的质量评价

权说安全

网络安全 零信任 访问控制

5 分钟比较理解 require() vs import()

掘金安东尼

前端 9月月更

Java培训学习技术需要具备哪些能力

小谷哥

写出优秀的产品手册文档的技巧

Baklib

文档 产品手册

学员在web前端培训机构应该怎么学习

小谷哥

《小米创业思考》之二:互联网简史

郭明

读书笔记

SAP UI5 的规则构建器控件介绍

Jerry Wang

JavaScript SAP SAP UI5 ui5 9月月更

大促活动如何抵御大流量 DDoS 攻击?

京东科技开发者

安全 电商 DDoS 电商大促 防护

OpenHarmony Camera源码分析

OpenHarmony开发者

OpenHarmony

Java开发培训的就业方向有哪些?

小谷哥

数字藏品NFT电商交易平台:APP系统开发

开源直播系统源码

NFT 数字藏品 数字藏品开发 数字藏品系统

Java加密技术(四)非对称加密算法RSA

No Silver Bullet

RSA密码 9月月更 非对称加密算法

给工作加点料——试一试python

为自己带盐

Python 爬虫 9月月更

知识管理对企业的作用不容小觑

Baklib

知识管理 企业

VUE 如何将父组件中的数据传递到子组件中

HoneyMoose

首批合作伙伴!博云携手中科院共建 SERVE 云平台规范

BoCloud博云

云计算 云原生 处理器

如何选择比较靠谱的数据培训班?

小谷哥

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