WPF自定义控件TemplateBinding

Pet*_*ter 5 wpf custom-controls

如何为自定义控件定义TemplateBinding?

Mua*_*Dib 5

有点像这样的东西.....(顺便说一句,这个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>
Run Code Online (Sandbox Code Playgroud)

现在,将这种样式应用于对象后,无论何时设置该对象的背景,模板都将使用Background属性(这是按钮控件上的属性),并且默认为您在样式中设置的内容(在这种情况下,绿色)

如果要使用样式对象上不存在的属性,则必须派生自己的控件,并将该属性添加为DependencyProperty或使用INotifyPropertyChanged接口。 是给您的一个体面的解释。