深入了解Silverlight中的样式、行为与触发器
在开发用户界面时,我们常常会遇到代码复用和功能扩展的问题。样式(Styles)虽然能帮助我们复用属性设置组,但在处理复杂的用户界面逻辑时,其局限性就会显现出来。而行为(Behaviors)作为一种新的解决方案,为我们提供了更强大的功能和更高的灵活性。
1. 样式的局限性与行为的引入
样式可以让我们复用属性设置组,有助于构建一致且组织良好的界面。然而,在典型的应用程序中,属性设置只是用户界面基础设施的一小部分。许多程序需要大量与应用功能无关的用户界面代码,如驱动动画、实现特效、维护界面状态以及支持拖动、缩放和停靠等功能。这些代码往往具有通用性,在每个Silverlight项目中都需要重复编写,而且十分繁琐。
因此,一种复用用户界面代码的方法比通过样式复用属性值的系统更有用。Silverlight目前还没有完全解决这个问题,但行为系统正逐渐填补这一空白。行为的基本思想是创建一个封装了常见用户界面功能的行为,这个功能可以是基本的(如启动故事板或导航到超链接),也可以是复杂的(如处理Deep Zoom图像的滚动和鼠标滚轮事件,或使用实时物理引擎模拟碰撞)。一旦创建了行为,就可以通过连接正确的行为并设置其属性,将该功能添加到任何应用程序的其他控件中。在Expression Blend中,使用行为只需要进行拖放操作。
需要注意的是,自定义控件也是一种复用用户界面功能的技术,但它需要将视觉效果和代码紧密结合在一起开发。虽然自定义控件非常强大,但在需要为许多不同控件添加相似功能的情况下,它并不适用。因此,样式、行为和自定义控件是互补的,一些最灵活的应用程序会将它们结合使用。
超级会员免费看
订阅专栏 解锁全文
36

被折叠的 条评论
为什么被折叠?



