当前位置: 首页 > 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>

http://www.lryc.cn/news/189376.html

相关文章:

  • 第二章 C++的输出
  • Qt中常用容器组控件介绍和实操
  • kafka、rabbitmq 、rocketmq的区别
  • java的amazonaws接口出现无法执行http请求:管道中断
  • cmake 多线程编译 指定 Visual Studio 编译器 命令行
  • 将 mysql 数据迁移到 clickhouse (最新版)
  • LeetCode 69.x的平方
  • 【小白入门】ASP.NET Core 创建 Web API
  • 如何使用摩尔信使MThings连接网络设备
  • 2023自动驾驶 车道线检测数据集
  • 排序算法-冒泡排序法(BubbleSort)
  • 3d tiles规范boundingVolume属性学习
  • 【开题报告】如何借助chatgpt完成毕业论文开题报告
  • 微信小程序通过 movable-area 做一个与vuedraggable相似的上下拖动排序控件
  • Ceph入门到精通-Nginx超时参数分析设置
  • TCP/IP(十)TCP的连接管理(七)CLOSE_WAIT和TCP保活机制
  • LeetCode 面试题 08.10. 颜色填充
  • 内排序算法
  • options.html 页面设计成聊天框,左侧是功能列表,右侧是根据左侧的功能切换成不同的内容。--chatGpt
  • 排序算法-选择排序法(SelectionSort)
  • Java-集合框架
  • 联想携中国移动打造车路协同方案 助力重庆实现32类车联网场景
  • Rust入门基础
  • 民族民俗景区3d智慧旅游系统提升游客旅游体验和质量
  • Webpack 解决:Error: error:0308010C:digital envelope routines::unsupported 的问题
  • JAVA操作Json的ObjectMapper类
  • Docker--harbor
  • Flink中的时间和窗口
  • Ultra-Fast-Lane-Detection 车道线学习资料整理
  • 【Ubuntu】Ubuntu18.04终端卡顿问题