当前位置: 首页 > news >正文

wpf中listview内容居中显示

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

实现方法

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

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


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

实例代码

<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内容居中显示

在WPF中使用ListView经常会用到GridView作为视图&#xff0c;但是却碰到GridViewColumn不能居中对齐的问题&#xff0c; 实现方法 给ListViewItem设置Style,让ListViewItem在水平方向拉伸填充&#xff1a; <Setter Property"HorizontalContentAlignment" Value&…...

第二章 C++的输出

系列文章目录 第一章 C的输入 文章目录 系列文章目录前言一、个人名片二、cout三、printf总结 前言 今天来学C的输出吧&#xff01; 一、个人名片 二、cout cout 三、printf printf 总结 最近懒得写博客怎么办&#xff1f;...

Qt中常用容器组控件介绍和实操

目录 常用容器组控件(Containers)&#xff1a; 1.Group Box 2.Scroll Area 3.Tab Widget 4.Frame 5.Dock Widget 常用容器组控件(Containers)&#xff1a; 控件名称依次解释如下(常用的用红色标出&#xff09;: Group Box: 组合框: 提供带有标题的组合框框架Scroll Area…...

kafka、rabbitmq 、rocketmq的区别

一、语言不同 RabbitMQ是由内在高并发的erlanng语言开发&#xff0c;用在实时的对可靠性要求比较高的消息传递上。 kafka是采用Scala语言开发&#xff0c;它主要用于处理活跃的流式数据,大数据量的数据处理上 RocketMQ是采用java语言开发的 二、吞吐量 kafka吞吐量更高&…...

java的amazonaws接口出现无法执行http请求:管道中断

java使用amazonaws的接口上传文件到minio出现以下异常&#xff1a; com.amazonaws.SdkClientException: Unable to execute HTTP request: Broken pipe (Write failed) at com.amazonaws.http.AmazonHttpClient R e q u e s t E x e c u t o r . h a n d l e R e t r y a b l e…...

cmake 多线程编译 指定 Visual Studio 编译器 命令行

当使用CMake来配置和构建一个Visual Studio 项目时&#xff0c;以下命令是关键的。 第一行是用于配置项目&#xff0c;而第二行用于构建项目。 Visual Studio 15 2017 Visual Studio 16 2019 Visual Studio 17 2022 在CMake中&#xff0c;DCMAKE_BUILD_TYPE是用于指定项目的构建…...

将 mysql 数据迁移到 clickhouse (最新版)

一、前驱知识 已经在mysql中插入了海量的数据了&#xff0c;这个时候mysql 承载不了这么大的数据&#xff0c;并且数据只需要查询&#xff0c;修改和删除非常少&#xff0c;并且不需要支持事务&#xff0c;这个时候需要换一个底层存储&#xff0c;这里选用的是 clickhouse 来进…...

LeetCode 69.x的平方

LeetCode 69.x的平方 思路&#xff1a; 二分查找。从1到x进行二分查找&#xff0c;每次判断mid的平方是否<x&#xff0c; 如果是&#xff0c;则更新ansmid&#xff0c;并缩小区间&#xff1b; 如果不是&#xff0c;则缩小区间&#xff1b; 最后则找到最接近的ans&#xff0…...

【小白入门】ASP.NET Core 创建 Web API

ASP.NET Core 支持使用 C# 创建 RESTful 服务&#xff0c;也称为 Web API。 若要处理请求&#xff0c;Web API 使用控制器。 Web API 中的 控制器 是派生自 ControllerBase 的类。 本文介绍了如何使用控制器处理 Web API 请求。 Web API 包含一个或多个派生自 ControllerBase …...

如何使用摩尔信使MThings连接网络设备

帽子&#xff1a; 摩尔信使MThings支持Modbus-TCP、Modbus-RTU Over TCP、Modbus-TCP Over UDP、Modbus-RTU Over UDP。 TCP链接中&#xff0c;摩尔信使MThings支持灵活的连接方式&#xff0c;主机可作为客户端也可以作为服务端&#xff0c;同时支持模拟从机以客户端方式向远…...

2023自动驾驶 车道线检测数据集

目录 2023自动驾驶 车道线检测关键数据集 下载链接 labelme标注制作数据: 车道线分割项目记录-tusimple数据集处理 2023自动驾驶 车道线检测关键数据集 下载链接 2023自动驾驶 车道线检测关键数据集 下载链接_Xiaobai_Zhao的博客-CSDN博客 labelme标注制作数据:...

排序算法-冒泡排序法(BubbleSort)

排序算法-冒泡排序法&#xff08;BubbleSort&#xff09; 1、说明 冒泡排序法又称为交换排序法&#xff0c;是从观察水中的气泡变化构思而成的&#xff0c;原理是从第一个元素开始&#xff0c;比较相邻元素的大小&#xff0c;若大小顺序有误&#xff0c;则对调后再进行下一个…...

3d tiles规范boundingVolume属性学习

3d tiles的瓦片&#xff08;Tiles&#xff09;包含一些属性&#xff0c;其中第一项是boundingVolume&#xff1b;下面学习boundingVolume&#xff1b; boundingVolume&#xff0c;这个翻译为边界范围框&#xff0c;如果直译为边界体积可能有问题&#xff0c;其实就是包围盒的意…...

【开题报告】如何借助chatgpt完成毕业论文开题报告

步骤 1&#xff1a;确定论文主题和研究问题 首先&#xff0c;你需要确定你的论文主题和研究问题。这可以是与软件开发、算法、人工智能等相关的任何主题。确保主题具有一定的研究性和可行性。 步骤 2&#xff1a;收集相关文献和资料 在开始撰写开题报告之前&#xff0c;收集相…...

微信小程序通过 movable-area 做一个与vuedraggable相似的上下拖动排序控件

因为只是做个小案例 我就直接代码写page页面里了 其实很简单 组件稍微改一下就好了 wxss /* 设置movable-area的宽度 */ .area{width: 100%; }/* a b c 每条元素的样式 */ movable-view {width: 100%;background-color: red;height: 40px;line-height: 40px;color: #FFFFFF;tex…...

Ceph入门到精通-Nginx超时参数分析设置

nginx中有些超时设置&#xff0c;本文汇总了nginx中几个超时设置 Nginx 中的超时设置包括&#xff1a; “client_body_timeout”&#xff1a;设置客户端向服务器发送请求体的超时时间&#xff0c;单位为秒。 “client_header_timeout”&#xff1a;设置客户端向服务器发送请…...

TCP/IP(十)TCP的连接管理(七)CLOSE_WAIT和TCP保活机制

一 CLOSE_WAIT探究 CLOSE_WAIT 状态出现在被动关闭方,当收到对端FIN以后回复ACK,但是自身没有发送FIN包之前 ① 服务器出现大量 CLOSE_WAIT 状态的原因有哪些? 1、通常来讲,CLOSE_WAIT状态的持续时间应该很短,正如SYN_RCVD状态2、但是在一些特殊情况下,就会出现大量连接长…...

LeetCode 面试题 08.10. 颜色填充

文章目录 一、题目二、C# 题解 一、题目 编写函数&#xff0c;实现许多图片编辑软件都支持的「颜色填充」功能。 待填充的图像用二维数组 image 表示&#xff0c;元素为初始颜色值。初始坐标点的行坐标为 sr 列坐标为 sc。需要填充的新颜色为 newColor。 「周围区域」是指颜色相…...

内排序算法

排序算法是面试中常见的问题&#xff0c;不同算法的时间复杂度、稳定性和适用场景各不相同。按照数据量和存储方式可以将排序算法分为 内排序&#xff08;Internal Sorting&#xff09;和 外排序&#xff08;External Sorting&#xff09;。 内排序是指对所有待排序的数据都可…...

options.html 页面设计成聊天框,左侧是功能列表,右侧是根据左侧的功能切换成不同的内容。--chatGpt

gpt: 要将 options.html 页面设计成一个聊天框式的界面&#xff0c;其中左侧是功能列表&#xff0c;右侧根据左侧的功能切换成不同的内容&#xff0c;你可以按照以下步骤进行设计和实现&#xff1a; 1. 首先&#xff0c;创建 options.html 文件&#xff0c;并在其中定义基本的…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

华为OD机试-最短木板长度-二分法(A卷,100分)

此题是一个最大化最小值的典型例题&#xff0c; 因为搜索范围是有界的&#xff0c;上界最大木板长度补充的全部木料长度&#xff0c;下界最小木板长度&#xff1b; 即left0,right10^6; 我们可以设置一个候选值x(mid)&#xff0c;将木板的长度全部都补充到x&#xff0c;如果成功…...

深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏

一、引言 在深度学习中&#xff0c;我们训练出的神经网络往往非常庞大&#xff08;比如像 ResNet、YOLOv8、Vision Transformer&#xff09;&#xff0c;虽然精度很高&#xff0c;但“太重”了&#xff0c;运行起来很慢&#xff0c;占用内存大&#xff0c;不适合部署到手机、摄…...

FFmpeg avformat_open_input函数分析

函数内部的总体流程如下&#xff1a; avformat_open_input 精简后的代码如下&#xff1a; int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...