我有一个自定义的外观少控制。我创建了一个Style并在样式中设置了依赖项属性。
如何在模板中设置控件的背景。我可以在没有明确声明依赖属性的情况下执行此操作吗?
public class AddressCustomControl:Control
{
static AddressCustomControl()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(AddressCustomControl), new ....)
}
// Few dependency properties here...
}
然后我在主题文件夹中的Generic.xaml中定义了布局,并指定了上述控件的targettype。
对于控件的数据绑定,一切都很好。
在使用控件时,我不想要更改此控件的颜色以及少量其他属性,如font和fore color。
当我在xaml中指定时,没有任何反应:
<local:AddressCustomControl Address={Binding BillAddress} Background="Silver" /> // Background does not change when I do this.
我在这里缺少什么?可能我必须以自己的风格做点什么?
这是我的风格:
<Style TargetType="{x:Type controls:AddressCustomControl}">
<Setter Property="Template">... setter value and the control template here... </Setter.Value> // May be I need to do something here that I am missing?
</Style>
谢谢你的时间!
答案 0 :(得分:1)
在Generic.xaml文件中,您应该在控件
上设置类似的内容Background={TemplateBinding Background}
有关其他信息,请查看此link,在“使用模板绑定保留控件的功能”部分下。