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

时间:2016-05-20 00:56:54

标签: xaml windows-runtime uwp

官方微软article声明:

  

修改默认系统样式

     

您应该尽可能使用来自Windows运行时默认XAML资源的样式。当您必须定义自己的样式时,尽可能将样式基于默认样式(使用基于前面说明的样式,或者首先编辑原始默认样式的副本)。

我了解您可以复制并粘贴MSDN的默认样式,以“从编辑原始副本开始”。然而,这让我觉得非常丑陋和不优雅,因为即使我只想添加一件东西,我也会在近100行中粘贴。

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

1 个答案:

答案 0 :(得分:3)

你是正确的Button不能使用默认样式,因为它们是隐含的。

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

例如,下面的Background将继承默认样式中的所有内容,但Red颜色更改为<Page.Resources> <Style x:Key="RedButtonStyle" TargetType="Button"> <Setter Property="Background" Value="Red" /> </Style> </Page.Resources> <Grid> <Button Content="Red" Style="{StaticResource RedButtonStyle}" /> </Grid>

$joblineitems = $this->JobLineItems->find('all');