【问题标题】:Center text in XAML Column and ListViewItemXAML 列和 ListViewItem 中的文本居中
【发布时间】:2017-08-11 08:51:20
【问题描述】:

我希望能够将列中的文本和一列的单元格居中。这是我到目前为止的 XAML。我无法弄清楚如何针对与所有项目相反的一项来做到这一点。

    <ListView
        Grid.Column="0"
        Margin="3,3,0,3"
        HorizontalAlignment="Stretch"
        VerticalAlignment="Stretch"
        ScrollViewer.HorizontalScrollBarVisibility="Auto"
        ScrollViewer.VerticalScrollBarVisibility="Visible"
        SelectionMode="Single">

        <ListView.View>
            <GridView AllowsColumnReorder="False">
                <GridView.Columns>
                    <GridViewColumn Width="100" DisplayMemberBinding="{Binding CopiedFrom}">
                        <GridViewColumn.Header>
                            <GridViewColumnHeader>Copied From:</GridViewColumnHeader>
                        </GridViewColumn.Header>
                    </GridViewColumn>

                    <GridViewColumn Width="100" DisplayMemberBinding="{Binding Name}">
                        <GridViewColumn.HeaderContainerStyle>
                            <Style TargetType="{x:Type GridViewColumnHeader}">
                                <Setter Property="HorizontalContentAlignment" Value="Center" />
                            </Style>
                        </GridViewColumn.HeaderContainerStyle>
                        <GridViewColumn.Header>
                            <GridViewColumnHeader>Date/Time:</GridViewColumnHeader>
                        </GridViewColumn.Header>
                    </GridViewColumn>
                </GridView.Columns>
            </GridView>
        </ListView.View>
    </ListView>

对 XMAL 相当陌生。任何帮助将不胜感激。

【问题讨论】:

  • 更新问题

标签: wpf xaml listview styles


【解决方案1】:

ListViewItem 容器的HorizontalContentAlignment 属性设置为Stretch,并将CellTemplateTextBlock 一起用于要居中的单元格:

<ListView
        Grid.Column="0"
        Margin="3,3,0,3"
        HorizontalAlignment="Stretch"
        VerticalAlignment="Stretch"
        ScrollViewer.HorizontalScrollBarVisibility="Auto"
        ScrollViewer.VerticalScrollBarVisibility="Visible"
        SelectionMode="Single">
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
        </Style>
    </ListView.ItemContainerStyle>
    <ListView.View>
        <GridView AllowsColumnReorder="False">
            <GridView.Columns>
                <GridViewColumn Width="100" DisplayMemberBinding="{Binding CopiedFrom}">
                    <GridViewColumn.Header>
                        <GridViewColumnHeader>Copied From:</GridViewColumnHeader>
                    </GridViewColumn.Header>
                </GridViewColumn>

                <!-- Centered: -->
                <GridViewColumn Width="100">
                    <GridViewColumn.HeaderContainerStyle>
                        <Style TargetType="{x:Type GridViewColumnHeader}">
                            <Setter Property="HorizontalContentAlignment" Value="Center" />
                        </Style>
                    </GridViewColumn.HeaderContainerStyle>
                    <GridViewColumn.Header>
                        <GridViewColumnHeader>Date/Time:</GridViewColumnHeader>
                    </GridViewColumn.Header>
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding Name}" HorizontalAlignment="Center" />
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
            </GridView.Columns>
        </GridView>
    </ListView.View>
</ListView>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-27
    • 1970-01-01
    • 1970-01-01
    • 2019-07-23
    • 1970-01-01
    相关资源
    最近更新 更多