WPF: Установка выравнивания текста GridViewColumn

По умолчанию текст центрируется в заголовках a ListView (не в ячейках содержания!), я изо всех сил пытался сделать, это выровняло по левому краю, вот то, что я придумал:

<ListView.Resources>
    <DataTemplate x:Key="Templ">
       <TextBlock HorizontalAlignment="Left" Text="{Binding}"/>
    </DataTemplate>
</ListView.Resources>   
...
<GridViewColumn HeaderTemplate="{StaticResource Templ}">File</GridViewColumn>

Это, действительно кажется, правильное место для изменения появления заголовка, так как я могу изменить другие свойства как Margin, и т.д. все же это не отвечает на HorizontalAlignment свойство! Я предполагаю, что текстовое поле измерено к содержанию, и оно центрировался, таким образом сокращая свойство выравнивания.

Как я могу сделать текст выровненным по левому краю?

7
задан Saulius Valatka 9 July 2010 в 15:46
поделиться

1 ответ

Установите HeaderContainerStyle в стиль, который устанавливает HorizontalContentAlignment влево:

<ListView.Resources>
    <DataTemplate x:Key="Templ">
        <TextBlock HorizontalAlignment="Left" Text="{Binding}"/>
    </DataTemplate>
    <Style x:Key="HeaderStyle" TargetType="GridViewColumnHeader">
        <Setter Property="HorizontalContentAlignment" Value="Left"/>
    </Style>
</ListView.Resources>
<ListView.View>
    <GridView>
        <GridView.Columns>
            <GridViewColumn HeaderTemplate="{StaticResource Templ}" HeaderContainerStyle="{StaticResource HeaderStyle}">File</GridViewColumn>
        </GridView.Columns>
    </GridView>
</ListView.View>
21
ответ дан 6 December 2019 в 07:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: