WPF ListView 居中顯示
阿新 • • 發佈:2018-08-28
lte sha tty detail lan listview property target article 原文:WPF ListView 居中顯示
今天遇到的問題:
方法1:設置GridViewColumn的ActualWidth
<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上話沒效果。
<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>
WPF ListView 居中顯示