如何在 ListView 的 DataTemplate 中将文本 TextBlock 居中?

How to center text TextBlock in DataTemplate of ListView?

我的页面只有ListView。

我希望 TextBlock 水平居中。

我尝试将 TextBlock 的水平对齐设置为拉伸 或者将其包装在 StackPanel 上并设置在那里但没有成功。

<ListView x:Name ="groupList"
              Background="#72AAFF"
              SelectionChanged="groupList_SelectionChanged" >
    <ListView.ItemTemplate>
        <DataTemplate>          
                <TextBlock Text="{Binding}"
                           TextWrapping="Wrap"                                
                           VerticalAlignment="Top"
                           FontSize="36"
                           Margin="10,10,0,0"
                           Foreground="#92ECFD"
                           HorizontalAlignment="Stretch"                               
                           TextAlignment="Center"/>

        </DataTemplate>
    </ListView.ItemTemplate>
    <ListView.Items>
        <x:String>One</x:String>
        <x:String>Two</x:String>
        <x:String>Three</x:String>
        <x:String>etc</x:String>
        <x:String>One</x:String>
        <x:String>One</x:String>
    </ListView.Items>
</ListView>

您在 TextBlock 中的对齐设置将不会生效,除非您更改容器的 Horizo​​ntalContentAlignment。将此添加到容器的样式中,一切都应该有效:

<ListView x:Name ="groupList" Background="#72AAFF">
    <ListView.ItemContainerStyle>
      <Style TargetType="ListViewItem">
         <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
      </Style>
    </ListView.ItemContainerStyle>
    <ListView.ItemTemplate>
    <!-- reso of the code -->

您还可以在这里找到一些信息 at MSDN