2010-01-11 3 views
1

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

<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. Я не хочу прибегать к стилям, потому что он очень специализирован, и мне не нужно будет повторно использовать стиль в другом месте.

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

ответ

3

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

+0

спасибо! я был близок с ContentPresenter, но это то, что мне нужно –

Смежные вопросы