将标记语言(如XAML)引入图形编程环境最初可能只是构建用户界面元素集合的另一种方法。但我们已经看到标记语言往往会产生更深刻的后果。标记语言促使我们在交互式视觉和底层业务逻辑之间更加果断地划分程序。这进一步表明,我们可能会受益于在诸如MVVM之类的应用程序架构中形成这种分离,并且结果证明它非常有价值。
与此同时,与代码相比,像XAML这样的标记语言往往会有一些内在的缺陷。虽然代码通常定义动态过程,但标记语言通常仅限于描述固定状态。 Xamarin.Forms中添加了一些功能来帮助弥补这些缺陷。这些功能包括标记扩展,资源字典,样式和数据绑定。
在本章中,您将看到另外两个称为触发器和行为的功能。触发器会导致对用户界面的更改以响应事件或属性更改,而行为更加开放,允许将整个功能块添加到现有可视元素。触发器和行为都可以是样式定义的一部分。通常,可以包含动画的代码支持触发器和行为。
触发器和行为甚至不可能在代码编程环境中构思或发明。 但是,与资源字典,样式和数据绑定一样,这些功能通过建议其他方法来概念化这些程序的各个部分和组件,以及重用和共享代码的其他方法,从而帮助开发人员更有效地构建其应用程序。
触发器和行为是使用将在本章中介绍的几个类实现的。 您将使用由VisualElement和Style定义的两个集合属性来使用这些触发器和行为:
- 触发IList 类型的属性
- IList类型的行为属性
让我们从触发器开始吧。