我有以下等级:
public class A
{
protected class B
{
}
}
我尝试通过以下方式定义默认样式(在generic.xaml中):
<Style TargetType="local:A+B">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:A+B">
<Grid/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="local:A.B">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:A.B">
<Grid/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="local:B">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="local:B">
<Grid/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
有谁知道正确的语法?
答案 0 :(得分:1)
我不相信支持继承样式,因为它在CSS中。您只能为特定目标类型创建样式。然后在实例上你需要提名样式。
但是,您使用的是generic.xaml文件(现在位于themes / generic.xaml下),该文件应用特定目标类型的默认样式。因此,如果您需要定位包含的B类,则需要定义B的样式或将其包含在A下通过公共属性。