Глобальный стиль WPF нельзя переопределить - PullRequest
6 голосов
/ 12 декабря 2011

Этот глобальный стиль объявлен в 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 Ответ

3 голосов
/ 12 декабря 2011

Попробовал ваш код, и он прекрасно работает для меня. Где находится ваш стиль окна? Я скопировал его в Window.Resources, и он отображает шрифт с размером шрифта 60. Если это не сработает, попробуйте свой код в новом пустом проекте.

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