使用控件模板定制控件的观感
2008-10-03 11:30:34 来源:WEB开发网核心提示: 使用控件模板定制控件 为Silverlight 和 WPF所用的控件模型,所允许之定制,使用控件模板定制控件的观感(3),远远超出控件内部的内容,它还允许你用你想要的任何东西完全替换控件的视觉树(visual tree),好消息是,WPF 和 Silverlight也能让我们对这些设置进行
使用控件模板定制控件
为Silverlight 和 WPF所用的控件模型,所允许之定制,远远超出控件内部的内容。它还允许你用你想要的任何东西完全替换控件的视觉树(visual tree),同时还保持控件的同样行为。
例如,我们不想要我们的按钮拥有一个默认的长方形的按钮的外观,而是要它们有一个象下面这样的自定义的圆形按钮外观:
我们可以这么做,在App.xaml文件中创建一个“RoundButton”样式,在其中,我们将改写按钮的Template属性,提供一个内含一个Ellipse控件和一个TextBlock的ControlTemplate来替换按钮的默认长方形外观:
然后我们可以让<Button>引用这个Style资源来使用这个“RoundButton”的观感:
在控件模板中融入内容
你也许会注意到一件事情,在上面的“RoundButton”控件模板中,按钮的大小,以及显示在其中的内容,都是写死的(总是“Push Me!”)。
好消息是,WPF 和 Silverlight也能让我们对这些设置进行定制。我们可以在控件模板中通过使用 {TemplateBinding ControlProperty} 的标识扩展句法 (markup extension syntax) 来绑定到控件的属性来实现。这允许我们的控件模板随着外部开发人员设置在控件的属性而改变:
更多精彩
赞助商链接