По умолчанию текст центрируется в заголовках a ListView
(не в ячейках содержания!), я изо всех сил пытался сделать, это выровняло по левому краю, вот то, что я придумал:
<ListView.Resources>
<DataTemplate x:Key="Templ">
<TextBlock HorizontalAlignment="Left" Text="{Binding}"/>
</DataTemplate>
</ListView.Resources>
...
<GridViewColumn HeaderTemplate="{StaticResource Templ}">File</GridViewColumn>
Это, действительно кажется, правильное место для изменения появления заголовка, так как я могу изменить другие свойства как Margin
, и т.д. все же это не отвечает на HorizontalAlignment
свойство! Я предполагаю, что текстовое поле измерено к содержанию, и оно центрировался, таким образом сокращая свойство выравнивания.
Как я могу сделать текст выровненным по левому краю?
Установите 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>