wpf中listview内容居中显示

这篇具有很好参考价值的文章主要介绍了wpf中listview内容居中显示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 在WPF中使用ListView经常会用到GridView作为视图,但是却碰到GridViewColumn不能居中对齐的问题,

实现方法

给ListViewItem设置Style,让ListViewItem在水平方向拉伸填充:

 
    <Setter Property="HorizontalContentAlignment" Value="Stretch"/>   


<ListView ItemContainerStyle="{StaticResource ListViewItemStyle}"> 
然后再给GridViewColumn的Datatemplate设置居中对齐就可以了。 

实例代码文章来源地址https://www.toymoban.com/news/detail-726209.html

<ListView x:Name="_detectionListView"  
                  ItemsSource="{Binding DetectionCheckList}" 
                  Background="White"  
                  BorderThickness="0"  
                  ScrollViewer.HorizontalScrollBarVisibility="Disabled">
                <ListView.ItemContainerStyle>
                    <Style TargetType="ListViewItem">
                        <Setter Property="Background" Value="White" />
                        <Setter Property="Foreground" Value="#464457" />
                        <Setter Property="FontSize" Value="{Binding dataGridTextSize, Source={StaticResource ThemeCore}}" />
                        <Setter Property="FontWeight" Value="Regular" />
                        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
                        <Style.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter Property="Background" Value="White" />
                                <Setter Property="BorderBrush" Value="White" />
                            </Trigger>
                            <Trigger Property="IsSelected" Value="True">
                                <Setter Property="Background" Value="White" />
                                <Setter Property="BorderBrush" Value="White" />
                            </Trigger>
                        </Style.Triggers>
                    </Style>
                </ListView.ItemContainerStyle>
                <ListView.View>
                    <GridView AllowsColumnReorder="False">
                        <GridView.ColumnHeaderContainerStyle>
                            <Style TargetType="GridViewColumnHeader">
                                <Setter Property="HorizontalContentAlignment" Value="Center"/>
                                <Setter Property="VerticalAlignment" Value="Center"/>
                                <Setter Property="SnapsToDevicePixels" Value="True" />
                                <Setter Property="Height" Value="48" />
                                <Setter Property="Background" Value="#F8F8F8"/>
                                <Setter Property="Opacity" Value="0.82"/>
                                <Setter Property="FontWeight" Value="Semibold"/>
                                <Setter Property="Foreground" Value="#464457"/>
                                <Setter Property="FontSize" Value="{Binding dataGridTextSize, Source={StaticResource ThemeCore}}"/>

                            </Style>
                        </GridView.ColumnHeaderContainerStyle>
                        <GridViewColumn Header="设备名称" Width="{Binding ElementName=col1,Path=ActualWidth}" >
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Grid>
                                        <TextBlock Text="{Binding deviceName}" HorizontalAlignment="Center" TextAlignment="Center"/>
                                    </Grid>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
   
                        <GridViewColumn Header="序列号" Width="{Binding ElementName=col2,Path=ActualWidth}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding serialNumber}" HorizontalAlignment="Center"/>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="IMEI" Width="{Binding ElementName=col3,Path=ActualWidth}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding deviceIMEI}" HorizontalAlignment="Center"/>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="设备型号" Width="{Binding ElementName=col4,Path=ActualWidth}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding deviceModel}"   HorizontalAlignment="Center"/>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="检测时间" Width="{Binding ElementName=col5,Path=ActualWidth}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding operateTime}"   HorizontalAlignment="Center"/>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="耗时" Width="{Binding ElementName=col6,Path=ActualWidth}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding checkTimeCost}" HorizontalAlignment="Center"/>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="次数" Width="{Binding ElementName=col7,Path=ActualWidth}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding Violation_Count}"   HorizontalAlignment="Center"/>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="检测状态" Width="{Binding ElementName=col8,Path=ActualWidth}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding DetectionStatus}" HorizontalAlignment="Center"/>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="USB位置" Width="{Binding ElementName=col9,Path=ActualWidth}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding UsbPostionInfo}"  HorizontalAlignment="Center"/>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="进度" Width="{Binding ElementName=col10,Path=ActualWidth}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <TextBlock Text="{Binding DetectStep}"  HorizontalAlignment="Center"/>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                    </GridView>
                </ListView.View>
            </ListView>

到了这里,关于wpf中listview内容居中显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 更改el-tabs默认样式,实现tab标签居中显示,标签对应内容使用另一个div显示

    首先看效果图 如图所示,标签在浏览器窗口居中,但是下面的内容依然是默认从左到右,不会受到tab样式的影响

    2024年03月17日
    浏览(43)
  • vue前端实现将页面显示内容生成pdf文件的几种方法,html2canvas、dom-to-image、jspdf(带分页)基本使用以及介绍

    实际开发需求:vue项目中,根据数据结构生成echarts图表组件,生成带有样式的图表以后,点击下载按钮,把图表以pdf格式的文件下载到本地 实现思路:将vue界面的echarts组件生成图片,然后使用插件将生成的图片放入pdf中,再实现pdf文件的下载 涉及框架以及插件:vue、echar

    2024年01月25日
    浏览(40)
  • vue中使用el-dialog设置弹窗对话框在前端显示为居中

    废话不多直接上图

    2024年02月01日
    浏览(37)
  • WPF ListView 自定义Item布局

    ViewModel : View:

    2024年02月16日
    浏览(36)
  • WPF真入门教程12--ListView控件

           ListView 控件在Windows应用程序中常用,用于表示数据列表。如果您以前使用过 WinForms,那么您对ListView的实用性有一个很好的了解,但您应该意识到 WPF中的ListView 不像WinForms版本那样使用。再一次的主要区别在于,虽然WinForms ListView只是调用Windows API 函数来呈现常见的

    2024年02月04日
    浏览(38)
  • Vue中如何以HTML形式显示内容并动态生成HTML代码

    Vue是一个流行的JavaScript框架,用于构建现代化的Web应用程序。在Vue应用程序中,我们经常需要以HTML形式显示内容,并动态生成HTML代码。本文将介绍如何在Vue中实现这些功能。 Vue中的模板语法默认会将所有内容都解析为纯文本,无法直接渲染HTML代码。但是,Vue提供了一个内

    2024年04月08日
    浏览(36)
  • 前端全集Ⅰ---- HTML/CSS/JavaScript

    Web:全球广域网,也称万维网,能够通过浏览器访问的网站 Web网站的工作流程:(前后端分离模式) 网页有哪些组成? 文字、图片、视频、音频、超链接 前端代码通过浏览器的解析和渲染变成用户看到的页面,对网页进行解析渲染的部分就是浏览器的内核 Web标准 不同的浏

    2024年02月15日
    浏览(59)
  • 前端 JavaScript 与 HTML 怎么实现交互?

    前端的交互性是通过JavaScript与HTML结合实现的。JavaScript作为一种脚本语言,可以嵌入HTML中,通过对DOM(文档对象模型)的操作,实现与用户的交互。以下将详细介绍前端JavaScript与HTML如何实现交互,包括事件处理、DOM操作、表单交互等方面的内容。 事件是指用户在页面上的动

    2024年01月22日
    浏览(38)
  • 前端三剑客 HTML+CSS+JavaScript ② HTML相关概念

    他们这样形容我 是暴雨浇不灭的火                                                       —— 24.4.18 学习目标         理解                 HTML的概念                 HTML的分类                 HTML的关系                 HTML的语义化         应用

    2024年04月23日
    浏览(40)
  • 前端= 结构(HTML)+ 样式(CSS)+ 行为(JavaScript)

    前端开发确实涵盖了行为(JavaScript)、样式(CSS)和结构(HTML)这三个主要方面。这三个方面在前端开发中密切协作,共同构建用户界面和用户体验。 结构(Structure):HTML 是用于定义页面结构的标记语言。通过使用 HTML 标签,可以创建网页的基本骨架,包括标题、段落、

    2024年02月13日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包