长期以来,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写道:
WPF支持 有关WPF支持方面,Jon Chu写道:
|