今天遇到的問題:css
方法1:設置GridViewColumn的ActualWidthhtml
<ListView > <ListView.View> <GridView > <GridViewColumn Header="名稱" Width="200" x:Name="column"> <GridViewColumn.CellTemplate> <DataTemplate> <TextBlock Text="{Binding Name}" TextAlignment="Center" MinWidth="{Binding Path=ActualWidth,ElementName=column}"/> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> <GridViewColumn Header="接收" Width="120" x:Name="sss"> <GridViewColumn.CellTemplate> <DataTemplate> <Border MinWidth="{Binding Path=ActualWidth,ElementName=sss}"> <CheckBox IsChecked="{Binding IsReceive}" HorizontalAlignment="Center"/> </Border> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView> </ListView.View> </ListView>
注意修改CheckBox居中的時候,須要把他套在Border裏,直接寫在CheckBox上話沒效果。spa
<Style x:Key="ListViewItemStyle" TargetType="{x:Type ListViewItem}"> <Setter Property="HorizontalContentAlignment" Value="Stretch"/> </Style>再修改須要居中的控件HorizontalAlignment=「Center」
<ListView ItemContainerStyle="{DynamicResource ListViewItemStyle}"> <ListView.View> <GridView > <GridViewColumn Header="名稱" Width="200"> <GridViewColumn.CellTemplate> <DataTemplate> <TextBlock Text="{Binding Name}"/> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> <GridViewColumn Header="接收" Width="120"> <GridViewColumn.CellTemplate> <DataTemplate> <CheckBox IsChecked="{Binding IsReceive}" HorizontalAlignment="Center"/> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> <GridViewColumn Header="拒絕" Width="120" > <GridViewColumn.CellTemplate> <DataTemplate> <CheckBox IsChecked="{Binding IsRefuse}" HorizontalAlignment="Center"/> </DataTemplate> </GridViewColumn.CellTemplate> </GridViewColumn> </GridView> </ListView.View> </ListView>