【问题标题】:UWP/XAML: How to inherit from the default styles using BasedOn?UWP/XAML:如何使用 BasedOn 从默认样式继承?
【发布时间】:2016-05-20 09:27:19
【问题描述】:

微软官方article 表示:

修改默认系统样式

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

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

我喜欢“使用基于样式”以通过引用包含所有默认样式的想法,但据我所知,Microsoft 提供的原始默认样式是隐含的。鉴于它们没有引用它们的密钥,如何使用BasedOn

【问题讨论】:

    标签: xaml windows-runtime uwp


    【解决方案1】:

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

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

    例如,下面的 Button 将继承 default 样式中的所有内容,除了将 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 2016-12-14
      • 2011-07-15
      • 2013-05-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多