如何为我的自定义控件定义 TemplateBinding?
最佳答案
有点像这样......(顺便说一句,这个xaml是WPF,而不是silverlight——略有不同)
<style TargetType="{x:Type Button}">
<Setter Property="Background" Value="Green">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid Background={TemplateBinding Background}
</ControlTemplate>
</Setter.Value>
</Setter>
</style>
现在,一旦您将此样式应用于对象,每当您设置该对象的背景时,模板将使用 Background 属性(这是按钮控件上的属性),并将默认为您在样式中设置的内容(在这种情况下,绿色)
如果要使用样式对象上不存在的属性,则必须派生自己的控件并将该属性添加为 DependencyProperty或使用 INotifyPropertyChanged界面。 Here对你来说是一个不错的解释。
关于WPF 自定义控件模板绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2677171/