WPF中Control类型的全局隐式样式

时间:2011-07-26 17:16:21

标签: wpf styles global implicit

此样式应适用于每个控件,但它没有效果,为什么?

<Style TargetType="{x:Type Control}">
            <Setter Property="Margin" Value="1" />           
</Style>

1 个答案:

答案 0 :(得分:1)

您的陈述不正确。隐式样式仅应用于指定的类型,而不应用于从中派生的类型。

例如,假设您有一个自定义按钮,如:

public class MyButton : Button {
    // ...
}

这样的隐式风格:

<Style TargetType="{x:Type Button}">
    <Setter Property="Margin" Value="1" />           
</Style>

在下面的XMAL中,上面的Style不会影响MyButton:

<Grid>
    <Button />
    <local:MyButton />
</Grid>