1. 将ListView包裹在一个父Grid中
  2. 写一个与ListView平行的Grid,设置该Grid的列数与ListView中GridView的列数相同,将该Grid各列设置列宽按比例分配
  3. 将ListView中GridView的各列的Width绑定上述Grid的ActualWidth
  4. 这样,通过设置上述Grid各列的比例,就对应设置了ListView中GridView的各列的比例
 1 <Grid Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3">
2 <Grid>
3 <Grid.ColumnDefinitions>
4 <ColumnDefinition Width="3*" />
5 <ColumnDefinition Width="2*" />
6 <ColumnDefinition Width="8*"/>
7 <ColumnDefinition Width="5*"/>
8 <ColumnDefinition Width="5*"/>
9 </Grid.ColumnDefinitions>
10 <Grid Grid.Column="0" x:Name="HumidifyEventLogCol0"/>
11 <Grid Grid.Column="1" x:Name="HumidifyEventLogCol1"/>
12 <Grid Grid.Column="2" x:Name="HumidifyEventLogCol2"/>
13 <Grid Grid.Column="3" x:Name="HumidifyEventLogCol3"/>
14 <Grid Grid.Column="3" x:Name="HumidifyEventLogCol4"/>
15 </Grid>
16
17 <ListView Name="HumidifyEventLog" Style="{StaticResource ListViewStyle}" ItemContainerStyle="{StaticResource ResourceKey=ListViewItemStyle}">
18 <ListView.View>
19 <GridView ColumnHeaderContainerStyle="{StaticResource GridViewColumnHeaderStyle}">
20 <GridViewColumn Header="设备" Width="{Binding ElementName=HumidifyEventLogCol0,Path=ActualWidth}" DisplayMemberBinding="{Binding Path=Source, Converter={StaticResource ChamberNameEnToCn}}"/>
21 <GridViewColumn Header="故障ID" Width="{Binding ElementName=HumidifyEventLogCol1,Path=ActualWidth}" DisplayMemberBinding="{Binding Path=Code}"/>
22 <GridViewColumn Header="故障描述" Width="{Binding ElementName=HumidifyEventLogCol2,Path=ActualWidth}" DisplayMemberBinding="{Binding Path=Remark}"/>
23 <GridViewColumn Header="故障开始时间" Width="{Binding ElementName=HumidifyEventLogCol3,Path=ActualWidth}" DisplayMemberBinding="{Binding Path=StartTime}"/>
24 <GridViewColumn Header="故障结束时间" Width="{Binding ElementName=HumidifyEventLogCol4,Path=ActualWidth}" DisplayMemberBinding="{Binding Path=EndTime}"/>
25 </GridView>
26 </ListView.View>
27 </ListView>
28 </Grid>

参考:WPF GridView的宽度设置为按比例分配

WPF-GridView设置列宽按比例分配的更多相关文章

  1. WPF gridview 不允许编辑

    WPF gridview正常双击是运行编辑的,如何让他不允许编辑呢,如果采用readonly属性,在双击时会报错,当然可以通过try catch处理,但是这样不好,好一点的解决办法就是在绑定数据时采用 ...

  2. 【Java】JTable组件的构造函数和设置列宽

    使用JTable组件 类层次结构图: java.lang.Object --java.awt.Component --java.awt.Container --javax.swing.JCompone ...

  3. EasyUI DataGrid设置列宽为百分比导致表头和内容错位的解决方法

    在DataGrid中设置列宽为百分比一般是没有问题的 columns: [[{ title: '内容', field: '__EMPTY', width: '40%' }, { title: '隐患级 ...

  4. 给GridView设置行高

    近期在工作中遇到了这样一个问题,使用一个GridView展示数据,item中仅仅是一个TextView,可是里面显示的文字多少不固定多少,必须所有展示出来. 遇到的问题: 1.把item中的宽和高设置 ...

  5. 解决QTreeView不能设置列宽的问题

    转载请注明出处:http://www.cnblogs.com/dachen408/p/7206738.html 设置model之前: ui.treeView->setColumnWidth(0, ...

  6. Android之使用weight属性实现控件的按比例分配空间

    从今天開始,把看书时候的知识点整理成博客, 这个比較简单,预计有经验的都用过,weight属性 在做Android布局的时候,常常遇到须要几个控件按比例分配空间的情况 比方下图效果 在底部设置两个bu ...

  7. wpf设置设计时的ViewModel

    原文:wpf设置设计时的ViewModel wpf mvvm开发中,有些情况下,你的view不一定设置DataContext,但是你又想在设计阶段,能够自动提示你的view绑定的viewmodel的内 ...

  8. WPF - 图形设计器(Diagram Designer)

    原文:WPF - 图形设计器(Diagram Designer) OpenExpressApp计划中包括建模工具,计划是采用MetaEdit+模型来作为元模型,使用codeproject的<WP ...

  9. WPF GridView的列宽度设置为按比例分配

    <Grid> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="3*" / ...

随机推荐

  1. IPsec协议簇简析

    简介 IPsec协议簇是应用在网络层上的,来保护IP数据报的一组网络传输协议的集合.它是IETF(Internet Engineering Task Force)制定的一系列协议,它为IP数据报提供了 ...

  2. Caffeine缓存 最快缓存 内存缓存

    一.序言 Caffeine是一个进程内部缓存框架. 对比Guava Cache Caffeine是在Guava Cache的基础上做一层封装,性能有明显提高,二者同属于内存级本地缓存.使用Caffei ...

  3. 计算机电子书 2020 CDNDrive 备份(预览版 II)

    下载方式 pip install CDNDrive # 或 # pip install git+https://github.com/apachecn/CDNDrive cdrive download ...

  4. NOIP2018 Day2T3 保卫王国

    首先不考虑强制要求的话是一个经典问题,令 \(f_{i, 0 / 1}\) 为 \(i\) 选或不选时以 \(i\) 为根的子树的最优答案.那么就有转移 \(f_{u, 0} = \sum f_{v, ...

  5. oracle锁表问题处理

    文章转载自:http://blog.itpub.net/31397003/viewspace-2142672/ "ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或 ...

  6. SpringBoot源码解读系列三——引导注解

    我们再来看下SpringBoot应用的启动类: 查看代码 import org.springframework.boot.SpringApplication; import org.springfra ...

  7. python——schedule库实现定时任务

    今天给脚本加定时任务用到一个schedule库,使用起来很简单方便.https://github.com/dbader/schedulehttps://schedule.readthedocs.io/ ...

  8. python篇第3天【编码规范】

    第二天加班去了! 语法约定: 多行语句 Python语句中一般以新行作为为语句的结束符. 但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下所示: total = item_one + \ i ...

  9. java+selenium自动化脚本编写

    实训项目:创盟后台管理,页面自动化脚本编写 使用工具:java+selenium 1)java+selenium环境搭建文档 2)创盟项目后台管理系统链接 java+selenium环境搭建 一.Se ...

  10. TCP/IP详解 读书笔记:TCP:传输控制协议

    TCP的服务 TCP为应用层提供一种面向连接的.可靠的字节流服务. 一个TCP连接中,仅有两方进行彼此通信,所以广播和多播不能用于TCP. TCP通过以下方式提供可靠性: 应用数据被切割为TCP认为最 ...