我有这个模板的自定义控件的通用样式。
<Style TargetType="{x:Type local:MyType}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:MyType}">
<Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
<local:MyControl />
</Border>
...
如果此控件用于全局设置此样式的项目中:
<Style TargetType="{x:Type Border}">
<Setter Property="Padding" Value="3" />
<Setter Property="VerticalAlignment" Value="Top" />
</Style>
但是 MyControl 是一个普通UserControl
的包含:...
<Border .. />
然后 UserControl 中的边框(位于模板中)也继承了这种样式(填充 3 等)
有没有办法说 ControlTemplate 中的控件不继承这些全局样式?顺便提一下。这是一个通用模板