我尝试了这个和 HorizontalAlignment,而不是 TextAlignment,但它们仍然显示为向左对齐。
<Window x:Class="EditorWindow.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
DataContext="{Binding RelativeSource={RelativeSource Self}}"
Title="MainWindow" Height="800" Width="600">
<Grid>
<ListView ItemsSource="{Binding Effects}">
<ListView.View>
<GridView>
<GridViewColumn Width="100" Header="Name" DisplayMemberBinding="{Binding Name}" />
<GridViewColumn Width="100" Header="Type" >
<GridViewColumn.CellTemplate >
<DataTemplate>
<TextBlock Text="{Binding Type}" TextAlignment="Center"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="100" Header="Opacity" DisplayMemberBinding="{Binding Opacity}" />
</GridView>
</ListView.View>
</ListView>
</Grid>
</Window>
最佳答案
尝试设置 HorizontalContentAlignment
至 Stretch
对于 ItemContainerStyle。然后它应该与 TextAlignment="Center"
一起使用或 HorizontalAlignment="Center"
为 TextBlock
<ListView ItemsSource="{Binding Effects}">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListView.ItemContainerStyle>
<!--...-->
</ListView>
关于.net - 如何在 WPF ListView 的特定列中居中文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5098668/