我创建了一个UWP应用程序并定义了一些样式,如下所示:
<Style TargetType="TextBlock" >
<Setter Property="Foreground" Value="Orange" />
<Setter Property="Margin" Value="12" />
<Setter Property="FontSize" Value="18" />
所以,我所有的TextBlock都是橙色的,并且有12px的边距。一切正常。但现在我想为标题定义第二个样式,它应该继承基本样式并仅覆盖额外定义的属性,就像这样:
<Style x:Key="HeadlineStyle" TargetType="TextBlock">
<Setter Property="FontSize" Value="32" />
但如果我这样做,所有其他样式定义都会消失(没有边距,没有颜色)。
那么我该如何保留基本样式?
在WPF中,我可以使用x:Type属性,只需说
BasedOn="{StaticResource {x:Type Button}}"
但是在UWP中,x:Type不可用(我发现它已不再受支持)。
BasedOn
(基于)它(以及任意数量的其他样式)。基本上,从当前方法中切换事项。 - Peter Torr - MSFT<Style TargetType="TextBlock" BasedOn="{StaticResource BasicTextBlockStyle}" />
它没有起作用。 - Marco Rehmer