写点什么

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

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

关注

评论 1 条评论

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

ECDSA安全漏洞剖析:从非ce泄露到密钥恢复实战

qife122

密码学 侧信道攻击

征程 6|工具链部署实用技巧 6:hbm 解析 API 集锦

地平线开发者

自动驾驶 算法工具链 地平线征程6

美国Aflac公司披露网络安全事件,客户数据可能遭泄露

qife122

网络安全 社会工程学攻击

Pipal密码分析工具的模块化检查器与分割器系统详解

qife122

密码分析 Ruby编程

这个暑期用鸿蒙 5开启缤纷夏日,多款应用福利享不停

最新动态

ACME协议

八苦-瞿昙

Apache Doris 实时更新技术揭秘:为何在 OLAP 领域表现卓越?

SelectDB

OLAP apache doris 数据更新 实时分析 数据库 大数据

扣子开源本地部署教程 丨Coze智能体小白喂饭级指南

阿星AI工作室

人工智能 AI 产品经理

WAIC 2025,我们闯进了超级头部主播的“造星梦工厂”NOVA

脑极体

AI

巴克莱银行大规模部署Microsoft Copilot至10万员工,加速AI应用进程

qife122

人工智能 微软365

Web枚举方法论:OSCP、CTF和Web应用渗透测试的初学者指南

qife122

网络安全 Web枚举

信任的意外反射:深入解析LLVM循环向量化器中的罕见编译错误

qife122

LLVM 向量化

javax.security.auth.login.LoginException: Checksum failed

刘大猫

人工智能 算法 数据分析 大模型 LoginException

Genie:产品级Agent开源产品

京东科技开发者

亚马逊机器学习大学推出"负责任AI"课程 - 聚焦AI偏见缓解与公平性实践

qife122

机器学习 偏见缓解

连续动作强化学习中的反事实探索:揭示AI决策背后的可能性

qife122

强化学习 连续动作空间可解释AI 连续动作空间

打印机安全漏洞:网络攻击的宽阔入口

qife122

网络安全 漏洞管理

开发者说|RoboTransfer:几何一致视频世界模型,突破机器人操作泛化边界

地平线开发者

自动驾驶 算法工具链 地平线征程6

TryHackMe团队靶机渗透测试实战解析

qife122

渗透测试 NMAP扫描

北大自主创新SPONGE软件性能超越国际主流GPU方案

极客天地

HackerOne漏洞报告:AddTagToAssets操作中的IDOR漏洞分析

qife122

graphql IDOR漏洞

面向数据科学的AI助手:SageMaker Canvas中的Amazon Q开发者工具

qife122

机器学习 AutoML

【纯干货】三张图深入分析京东开源Genie的8大亮点

京东科技开发者

深入解析Passkeys背后的密码学原理

qife122

身份认证 密码学

深度解析苹果端侧与云端基础模型技术架构

qife122

机器学习 模型压缩

设计系统中的本地化集成:Figma变量与设计令牌实战

qife122

本地化 设计系统

JoyAgent综合测评报告

京东科技开发者

LeetCode热题一之两数之和

Hunter熊

Python golang LeetCode 两数之和

JSONBench 榜单排名第一! 10 亿条数据秒级响应

SelectDB

数据库 性能测试 OLAP apache doris 大数据 开源

无刷电机行业新一代AI智能化MES系统解决方案

万界星空科技

制造业 无刷电机 mes 电机行业 电机MES

【手把手】使用JoyAgent-Genie,基于Deepseek模型构建自己的Manus

京东科技开发者

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