WPF中类型控件的全局隐式样式



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

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

你的陈述不正确。隐式样式只应用于指定的类型,而不应用于从它派生的类型。

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

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

和像这样的隐式样式:

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

在下面的xml中,上面的样式不会影响MyButton:

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

最新更新