WPF全局样式无法覆盖

时间:2011-12-12 15:42:32

标签: wpf coding-style textblock

此全局样式在App.xaml中声明:

<Style TargetType="TextBlock">
     <Setter Property="FontFamily" Value="Times New Roman"/>
     <Setter Property="FontSize" Value="20"/>
</Style>   

在一个窗口中,我试图像这样在本地覆盖:

<Style TargetType="TextBlock" BasedOn="{StaticResource {x:Type TextBlock}}">
     <Setter Property="FontSize" Value="60" />
</Style>

和此:

<Style TargetType="TextBlock">
     <Setter Property="FontSize" Value="60" />
</Style>

但没有任何作用。我仍然坚持使用App.xaml中设置的样式。有谁知道什么可能干扰这个?如果我从App.xaml中删除该全局,我可以在本地设置我想要的任何内容。如果我改变全局中的值,它会全局反映出来,所以我认为没有任何一个全球性的地方与之相冲突。我搜索了TargetType="TextBlock"并没有得到任何结果。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

尝试了你的代码,它对我来说非常适合。您的窗户样式放在哪里? 我将其复制到Window.Resources中,并使用fontsize 60显示字体。 如果这不起作用,请在新的空项目中尝试代码。

  <Window.Resources>
    <Style TargetType="TextBlock" BasedOn="{StaticResource {x:Type TextBlock}}">
      <Setter Property="FontSize" Value="60" />
    </Style>
  </Window.Resources>