UWP/XAML:如何使用BasedOn从默认样式继承?

UWP/XAML:如何使用BasedOn从默认样式继承?,xaml,windows-runtime,uwp,Xaml,Windows Runtime,Uwp,微软官方声明: 修改默认系统样式 如果可以,您应该使用来自Windows运行时默认XAML资源的样式。如果必须定义自己的样式,请尽可能将样式基于默认样式(使用前面介绍的基于样式,或从编辑原始默认样式的副本开始) 我知道您可以从中复制并粘贴默认样式,以便“从编辑原始样式的副本开始”。然而,这给我的印象是非常丑陋和不雅,因为我粘贴了将近100行,即使我只想添加一件事 我喜欢“基于样式使用”的想法,通过引用包含所有默认样式,但从我可以看出,Microsoft提供的原始默认样式是隐式的。考虑到它们没有引

微软官方声明:

修改默认系统样式

如果可以,您应该使用来自Windows运行时默认XAML资源的样式。如果必须定义自己的样式,请尽可能将样式基于默认样式(使用前面介绍的基于样式,或从编辑原始默认样式的副本开始)

我知道您可以从中复制并粘贴默认样式,以便“从编辑原始样式的副本开始”。然而,这给我的印象是非常丑陋和不雅,因为我粘贴了将近100行,即使我只想添加一件事


我喜欢“基于样式使用”的想法,通过引用包含所有默认样式,但从我可以看出,Microsoft提供的原始默认样式是隐式的。考虑到它们没有引用它们的键,如何使用
BasedOn
呢?

你说得对
BasedOn
不会使用默认样式,因为它们是隐式的

但是,如果只想编辑某些属性,则不必包含完整的样式代码

例如,下面的
按钮
将继承默认样式的所有内容,但
背景
颜色更改为
红色

<Page.Resources>
    <Style x:Key="RedButtonStyle"
           TargetType="Button">
        <Setter Property="Background"
                Value="Red" />
    </Style>
</Page.Resources>

<Grid>
    <Button Content="Red" Style="{StaticResource RedButtonStyle}" />
</Grid>