WPF ListView 居中顯示

原文: WPF ListView 居中顯示

今天遇到的問題: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



方法2:設置Style,推薦。

<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>
相關文章
相關標籤/搜索