Изменить размер шрифта GridView's ColumnHeader - PullRequest
2 голосов
/ 04 июня 2009

Есть ли простой способ изменить размер шрифта заголовка без перезаписи, полностью дублируя ColumnHeaderTemplate?

Примечание. Не уверен, что это уместно, но я использую тему приложения (PresentationFramework.Royale), которая предоставляет ColumnHeaderTemplate.

Ответы [ 2 ]

7 голосов
/ 04 июня 2009

Если вы также не применяете стиль к заголовкам столбцов, вы можете использовать это. И даже если это так, установив свойство BasedOn для стиля, вы можете поддерживать все, кроме того, что хотите изменить.

<ListView>
    <ListView.View>
        <GridView>
            <GridView.ColumnHeaderContainerStyle>
                <Style>
                    <Setter Property="TextElement.FontSize"
                            Value="32" />
                </Style>
            </GridView.ColumnHeaderContainerStyle>
            <GridViewColumn Header="Stuff"/>
            <GridViewColumn Header="More Stuff" />
        </GridView>
    </ListView.View>
</ListView>


Редактировать:
Я раньше не использовал встроенные темы, поэтому я проверил это. Тема PresentationFramework.Royale фактически не применяет шаблон к заголовкам столбцов. Он применяет стиль, который использует установщик для применения ControlTemplate, как рекомендуется .

Итак, чтобы сохранить тему Royale в заголовках столбцов, нам нужно использовать свойство BasedOn созданного нами стиля. Вот обновленное определение стиля, которое позволит вам изменить то, что вам нравится, и сохранить тему Royale:

<Style TargetType="{x:Type GridViewColumnHeader}" BasedOn="{StaticResource {x:Type GridViewColumnHeader}}">
0 голосов
/ 04 июня 2009

GridViewColumnHeader - это элемент управления содержимым, поэтому, если вы установите для его содержимого значение TextBlock, в котором нужный текст имеет правильный размер, жизнь должна быть хорошей.

...