Как работает наследование FontSize в дереве Silverlight? - PullRequest
1 голос
/ 11 января 2010

Если у меня есть ChildWindow в Silverlight, я могу применить FontSizeProperty, и он наследуется дочерними элементами.

<controls:ChildWindow FontSize="14">

     <StackPanel>
          <TextBlock Content="Hello">
          <TextBlock Content="World">
     </StackPanel>

</controls:ChildWindow>

Теперь хорошо, если вы хотите, чтобы вся страница имела одинаковый размер шрифта, но я хочу сделать что-то вроде этого и иметь наследование в меньших блоках:

<controls:ChildWindow>

     <StackPanel FontSize="14">
          <TextBlock Content="Hello">
          <TextBlock Content="World">
     </StackPanel>

     <StackPanel FontSize="10">
          <TextBlock Content="Hello">
          <TextBlock Content="World">
     </StackPanel>

</controls:ChildWindow>

Это не компилируется. Есть ли способ, которым я могу достичь этого паттерна в Silverlight, не определяя стиль для StackPanel (думаю, это сработает).

Существуют ли другие контейнеры, которые позволяют мне установить FontSize для его потомков - или я могу написать тот, который будет?

Я хочу легко установить размер шрифта, чтобы быть определенно большим StackPanels. Я не хочу прибегать к стилям, потому что они очень специализированные, и мне не нужно повторно использовать стиль в другом месте.

Какой лучший способ сделать это?

1 Ответ

3 голосов
/ 11 января 2010

Вы можете обернуть каждый StackPanel в ContentControl , который реализует FontSize.

...