2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论 1 条评论

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

利用稳定扩散快速修复图像

3D建模设计

人工智能「 Stable Diffustion 图像修复

MobPush自定义智能标签,赋能精细化运营

MobTech袤博科技

智能推送

DAPP合约代币质押算力挖矿系统开发

l8l259l3365

YRCloudFile V7.0.0发布| 新增 EC 数据冗余保护功能

焱融科技

JAVA 调用Open AI 接口生成图片url并直接在浏览器上响应显示

风清扬

openai 图片生成 AI绘画 ChatGPT chatgpt api

生信领域|焱融存储为极智基因打造高性能生物医学平台

焱融科技

Lightsail CDN 现已对 Lightsail Container Services 作为来源进行支持

亚马逊云科技 (Amazon Web Services)

CDN Amazon Lightsail Amazon CloudFront

MobPush后台配置教程

MobTech袤博科技

智能推送

企业级API资产如何管理

谷云科技RestCloud

API 资产管理 API 接口

喜讯!云起无垠获评GEEKCON 2023"前沿突破奖"

云起无垠

云原生微服务的下一站:Proxyless Service Mesh

华为云开发者联盟

微服务 云原生 华为云 华为云开发者联盟

一图看懂华为云CodeArts Link六大特性,带你体验一站式跨平台数据互联

云计算 软件开发 华为云

.NET CORE 之gRpc使用

gogo

剑指pulsar之数据写入流程

少年游侠客

消息队列 pulsar 写数据

HarmonyOS数据管理与应用数据持久化(二)

HarmonyOS开发者

焱融全闪 | 高算力时代下的国产存储之光

焱融科技

MobPush智能推送工具,助力实现用户全生命周期管理

MobTech袤博科技

智能推送

混合云场景下基于 Fluid 的焱融高效存储方案

焱融科技

企业几种快速传输大文件的使用方法,你GET到了吗

镭速

大文件传输 传输大文件

Node.js 中 HTML 解析的终极指南:探索各种方法

Liam

JavaScript node.js html 前端 Web

Stable Diffusion 的提示词使用技巧

3D建模设计

Stable Diffusion 自动纹理

以技术创新,让美好发生!第二届华为云杯“少年开发者”人工智能大赛总决赛成功落幕

彭飞

MobPush智能推送:数智化运营释放APP用户生命周期价值

MobTech袤博科技

浙大材料学院高性能存储实践,加速 AI 新材料科研创新

焱融科技

我们该如何规划自己的职业生涯?

老张

职业规划 职场成长

软件项目验收计划书

金陵老街

推送没人看?MobPush助力APP运营提质增效

MobTech袤博科技

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