今天遇到的问题: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>