【发布时间】:2016-02-24 14:39:21
【问题描述】:
我创建了一个 UWP 应用并定义了一些这样的样式:
<Style TargetType="TextBlock" >
<Setter Property="Foreground" Value="Orange" />
<Setter Property="Margin" Value="12" />
<Setter Property="FontSize" Value="18" />
所以,我所有的 TextBlock 都是橙色的,并且有 12px 的边距。一切都好。但是现在我想为 Headlines 定义第二种样式,它应该继承基本样式并覆盖额外定义的属性,如下所示:
<Style x:Key="HeadlineStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="32" />
但如果我这样做,所有其他样式定义都消失了(没有边距,没有着色)。
那么我怎样才能保持基本风格呢?
在 WPF 中,我可以使用 x:Type 属性然后说
BasedOn="{StaticResource {x:Type Button}}"
但是 x:Type 在 UWP 中不可用(我发现它不再受支持)
【问题讨论】:
-
为您的自定义样式命名,然后创建一个空的默认样式,即
BasedOnit(以及任意数量的其他样式)。基本上改变你目前的方法。 -
@PeterTorr-MSFT 也可以作为答案并给他们更多信息。虽然我确定这可能与某个地方的另一个问题重复,只是没有找到示例。
-
你的意思是这样的吗?
<Style TargetType="TextBlock" BasedOn="{StaticResource BasicTextBlockStyle}" />没用
标签: c# xaml win-universal-app