写点什么

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

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

关注

评论 1 条评论

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

专题 | IAM业界热度不减,2024市场持续井喷(三)

芯盾时代

身份安全 数字化 iam 统一身份认证 零信任模型

第63期 | GPTSecurity周报

云起无垠

项目管理达人推荐:顶级文档管理系统大比拼

爱吃小舅的鱼

文档管理

一键生成PPT?讯飞智文2.0迎来重磅升级!马斯克宣布人工智能模型Grok 2测试版即将发布|AI日报

可信AI进展

TextIn文档树引擎,助力RAG知识库问答检索召回能力提升

合合技术团队

科技 文档识别 PDF解析

蓝易云 - ssh登录22号端口拒绝连接Ubuntu?

百度搜索:蓝易云

Linux 运维 Shell SSH 云服务器

科大讯飞T20学生平板怎么样 科大讯飞T20参数

妙龙

科大讯飞 学习机

ICE.AI战略扩展亚太市场,创新交易模式及平台全面升级

科技热闻

云高性能计算平台 CHPC 让企业的传统 HPC 玩出新花样

百度Geek说

百度智能云

蓝易云 - Ubuntu22.04安装Mongodb7.0

百度搜索:蓝易云

mongodb 云计算 Linux ubuntu 运维

K8s 如何设置容器 /dev/shm 控制共享内存大小

江湖十年

k8s k8s管理 #k8s K8s 多集群管理 Kubernetes Serverless

BTC/ETH/IPFS云算力质押挖矿系统开发详细指南

V\TG【ch3nguang】

云算力质押挖矿系统

【YashanDB数据库】yasboot查询数据库状态时显示数据库状态为off

YashanDB

yashandb 崖山数据库 崖山DB

mac剪切板管理工具:Paste for Mac 免激活版

你的猪会飞吗

mac软件下载 Paste for Mac paste mac破解版

小间距LED显示屏:新时代的传播利器

Dylan

媒体 时代 LED LED display LED显示屏

蓝易云 - Ubuntu下运行QEMU模拟riscv64跑Debian

百度搜索:蓝易云

ubuntu 运维 云服务器 qemu Debian

HGDD 荣耀开发者日丨沙龙北京站现场亮点回顾

荣耀开发者服务平台

行业趋势 开发者沙龙 应用上架 荣耀开发者服务平台 开发者激励计划

蓝易云 - 在PHP8中统计数组元素个数-PHP8知识详解

百度搜索:蓝易云

php Linux 运维 云服务器 PHP8

国内首个支持国产化信创的开源云原生平台

北京好雨科技有限公司

云原生 rainbond 企业号 8 月 PK 榜 国产化平台 信创国产化

【第2期】INFINI Easysearch 免费认证培训开放报名啦

极限实验室

easysearch 极限科技

必读|Postgres 如何在磁盘上存储和索引数据?

小猿姐

数据库 postgresql 容器

Go语言中进行MySQL预处理和SQL注入防护

左诗右码

Go 语言

前端代码编辑神器:sublime text 4(Win&Mac)中文注册版

你的猪会飞吗

mac软件下载 Sublime Text 4 破解版 Sublime Text 4下载 Sublime Text 4注册版

先锋鹏城,极速领航!深圳电信5G-A场景体验尊享权益正式发布

脑极体

通信

蓝易云 - 使用php获取时间今天、明天、昨天时间戳的详解

百度搜索:蓝易云

php 云计算 运维 云服务器 香港服务器

【荣耀远航计划】应用市场·耀闪行动首发上线

荣耀开发者服务平台

honor 应用市场 开发者激励计划

轻量级的灰度&配置平台|得物技术

得物技术

架构 配置 稳定性 灰度 企业号2024年7月PK榜

鸿蒙 NEXT 应用开发训练营毕业啦(毕业总结)

SamGo

鸿蒙 训练营 HarmonyOS 移动端 鸿蒙系统

绿电、DePIN+AI:塑造未来二十年金融体系的新兴基石

TechubNews

打造企业专属人工智能助理

霍格沃兹测试开发学社

科大讯飞t20和c10 区别对比 评测

妙龙

科大讯飞 学习机

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