在WPF中,ListView采用绑定数据源显示,如果GridViewColumn的Width设为Auto,刚不能居中显示,这个问题曾经一度困扰着我达一周之久,后来仔细研究了下,想出了一个方案,代码如下:
主要就是为TextBlock的MinWidth设置绑定到GridViewColumn的ActualWidth
1<GridViewColumn Header="Name" x:Name="column">
2 <GridViewColumn.CellTemplate>
3 <DataTemplate>
4 <TextBlock Width="Auto" TextAlignment ="Center" Text="{Binding Path=Name}" MinWidth="{Binding Path=ActualWidth,ElementName=column}"/>
5 </DataTemplate>
6 </GridViewColumn.CellTemplate>
7 </GridViewColumn>
2 <GridViewColumn.CellTemplate>
3 <DataTemplate>
4 <TextBlock Width="Auto" TextAlignment ="Center" Text="{Binding Path=Name}" MinWidth="{Binding Path=ActualWidth,ElementName=column}"/>
5 </DataTemplate>
6 </GridViewColumn.CellTemplate>
7 </GridViewColumn>
主要就是为TextBlock的MinWidth设置绑定到GridViewColumn的ActualWidth
谨以此记录成长的脚步,同时和大家一起分享快乐。