在模板中使用对象属性
您可以使用模板为控件创建唯一的外观。例如,使用同一模板的每个 RadioButton 控件看起来都完全相同。但是,假设您希望使用模板的每个 RadioButton 控件呈现不同颜色,应该怎么办?使用模板绑定,不但可以设计自定义的控件,而且仍然能够在应用程序中加入控件后进行某些更改。
例如,在 Microsoft Expression Blend 附带的 Zune3D 示例中,应用程序底部的单选按钮的形状和突出显示都一样,但它们的颜色不同。通过将模板中某个对象的颜色绑定到使用该模板的 RadioButton 控件的背景颜色,您可以实现这一点。
Zune3D 示例中经过样式设置的 RadioButton 对象
下列属性是最常绑定到模板的属性:
属性名称 |
类型 |
---|---|
Background |
画笔 |
Fill |
画笔 |
Stroke |
画笔 |
BorderBrush |
画笔 |
Foreground |
画笔 |
BorderThickness |
数字 |
Width |
数字 |
Height |
数字 |
某些属性(例如“OpacityMask”、“Font”、“FontSize”、“LayoutTransform”或“RenderTransform”)不必绑定到模板。这些属性将自动影响模板中的元素。同样,如果模板中有 ContentPresenter 对象,“Content”和“Text”属性也不必绑定到模板。
在模板中使用对象属性
创建或打开控件的模板。
有关详细信息,请参阅创建可重用模板以为系统控件设置样式。
在编辑控件的模板时,请在“对象和时间线”面板中选择其中包含要绑定到模板的属性的对象。
在“属性”面板中,找到要绑定到模板的属性,单击“高级属性选项”,指向“模板绑定”,然后单击要绑定到模板的属性。
例如,在 Expression Blend 附带的 Zune3D 示例中的 RadioButton 模板中,内部形状的“Fill”属性绑定到使用该模板的 RadioButton 控件的“Background”属性。
在“属性”面板中,属性值周围将出现黄色的范围框,指明该属性值已绑定到模板。
现在,当您绘制使用示例模板的其他对象时,您可以更改绑定到该模板的属性(在前面的示例中为“Background”属性),以影响模板中的“Fill”属性。
删除模板绑定
在编辑控件的模板时,请在“对象和时间线”面板中选择其中包含已绑定到模板的属性的对象。
在“属性”面板中,找到已绑定到模板的属性,单击“高级属性选项”,然后单击“重置”。
现在即可将该属性设置为其他值。