我在页面上只有ListView。
我希望TextBlock在水平方向上居中。
我尝试将TextBlock的Horizonltal对齐方式设置为Stretch 或者将它包装在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>
答案 0 :(得分:2)
除非您更改容器的 HorizontalContentAlignment ,否则 TextBlock 中的对齐设置不会生效。将其添加到容器的样式中,一切都应该有效:
<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找到一些信息。