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:003326
用户头像

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

关注

评论 1 条评论

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

选择体育场馆的LED显示屏时应该注重哪些方面

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

云管平台中租户以及多租户概念简单说明

行云管家

云计算 云管平台

「行话」| 汽车软件如何高效交付?我们总结了这三个关键点

极狐GitLab

git DevOps gitlab DevSecOps 汽车

Redis总结:缓存雪崩、缓存击穿、缓存穿透与缓存预热、缓存降级

程序员啊叶

Java 编程 程序员 架构 java面试

常见分布式理论(CAP、BASE)和一致性协议(Gosssip、Raft)

程序员啊叶

Java 编程 程序员 架构 java面试

500强企业如何提升研发效能?来看看行业专家怎么说!

万事ONES

什么是Tor?Tor浏览器更新有什么用?

郑州埃文科技

TCP/IP tor 洋葱路由

基于 Spring Cloud 的微服务架构分析

程序知音

Java 程序员 微服务 SpringCloud 后端技术

湖仓一体电商项目背景与架构介绍及基础环境准备

Lansonli

大数据项目 7月月更 签约计划第三季 湖仓一体电商项目

延迟队列DelayQueue性能测试

FunTester

Flink消费kafka消息实战

程序员欣宸

Java flink 7月月更

2022年中国网络视频市场年度综合分析

易观分析

数据分析 数字媒体 市场

Mall微服务版本全面升级!支持最新版SpringCloud

程序知音

Java spring 编程 程序员 后端技术

单机高并发模型设计

C++后台开发

reactor 高并发 线程池 C/C++后台开发 C/C++开发

C语言怎么学?这篇文章给你完整答案

图灵教育

C语言

技术实践干货 | 从工作流到工作流

观远数据

工作流 workflow

美团到餐“祖传数仓”标准化治理笔记

老猎人

2022 秋招 Java 岗面试高频问题总结

程序员啊叶

Java 编程 程序员 架构 java面试

Gartner 权威预测未来4年网络安全的8大发展趋势

SEAL安全

安全 趋势 预测

万字详解 Google Play 上架应用标准包格式 AAB

融云 RongCloud

Google 安卓

兆骑科创创业大赛策划承办机构,双创平台,项目落地对接

兆骑科创凤阁

纯css实现:文字可换行的下划线、波浪线等效果

南极一块修炼千年的大冰块

7月月更

语音直播系统——提升云存储安全性的必要手段

开源直播系统源码

直播系统源码 语音直播系统 语音直播系统连麦

详解分布式系统的幂等

焱融科技

分布式系统 存储 文件存储 幂等性

初学者入门:使用WordPress搭建一个专属自己的博客

hum建应用专家

数据库 Wordpress 博客部署 WordPress

阿里经典30道Java面试题,看完记得收藏保存

程序员啊叶

Java 编程 程序员 架构 java面试

如何开发一款基于 Vite+Vue3 的在线Excel表格系统(上)

葡萄城技术团队

前端 vite vue3.0

别再用 System.currentTimeMillis 统计耗时了,太 Low,试试 Spring Boot 源码在用的 StopWatch吧,够优雅!

沉默王二

Java

企业运维安全就用行云管家堡垒机!

行云管家

网络安全 运维安全 运维堡垒机 企业数据安全

写好技术原创文章的一点建议

Qunar技术沙龙

技术文章

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