WPF的DataGrid的列宽怎么自动取平均值,达到自动占满空间的要求,如图

WPF的DataGrid的列宽怎么自动取平均值,达到自动占满空间的要求,如图,第1张

先在window的 viewmodule中设置一个获取winodw宽度属性(有NotificationObject事件的属性)用windows的SizeChanged事件改变属性

再把DataGrid的自动生成列改成手动

<DataGrid AutoGenerateColumns="False">

<DataGridColumns>

<DataGridTextColumn Header="数据1" Width="{Binding 获取屏幕宽度的属性, Converter={StaticResource witdthConverter}, ConverterParameter=1}" IsReadOnly="True" Binding="{Binding 数据1}"/>

</DataGridColumns>

</DataGrid>

每列的宽度绑定vm里的宽度属性,并设置ValueConverter,和ConverterParameter,Converter里根据ConverterParameter来设置宽度就好

datagrid-cell-c1-itemid{//其中datagrid-cell是固定的。c1代表第一个表格itemid代表第一列,具体你可用google等工具查看当前元素的class属性。特别注意的是因为变化的,所以这段代码要放到body标签里面的最后面。width:23px;//你需要设置的宽度。}

js修改css中高度和宽度样式,可能会造成浏览器重新渲染。一般来说,只用js修改高度,宽度最好是设定值。因为对于流式布局而言,宽度可变是不可接受的,会造成之后的元素全部需要计算位置。如果这个元素本身还是浮动的,那就更难以计算。有时会导致客户端浏览器频繁渲染,屏幕会闪动。

媒介类型

描述

all 用于所有的媒介设备。

aural 用于语音和音频合成器。

braille 用于盲人用点字法触觉回馈设备。

embossed 用于分页的盲人用点字法打印机。

handheld 用于小的手持的设备。

print 用于打印机。

projection 用于方案展示,比如幻灯片。

screen 用于电脑显示器。

tty 用于使用固定密度字母栅格的媒介,比如电传打字机和终端。

tv 用于电视机类型的设备。

可以对同一个网页指定不同的css来适应不同媒介。

以下为示例:

<style>

@media screen

{

ptest {font-family:verdana,sans-serif; font-size:14px}

}

@media print

{

ptest {font-family:times,serif; font-size:10px}

}

@media screen,print

{

ptest {font-weight:bold}

}

</style>

easyUI

datagrid

是很多个div嵌套起来的,不是页面的table组装的,所以不能设置百分比,但是你可以用个div把它包含,设置外层div的百分比是可以你要的效果的

解决思路一

获取datagridview的行的总数和列的总数,rowcount ,cellcount

for(int i=0;i<rowcount;i++)

{

for(int k=0;k<cellcount;k++)

{

这里设置datagridview的行的高度和宽度,

}

}

好像datagridview行列宽度是一起改动的,用代码就可以实现最后一行

以上就是关于WPF的DataGrid的列宽怎么自动取平均值,达到自动占满空间的要求,如图全部的内容,包括:WPF的DataGrid的列宽怎么自动取平均值,达到自动占满空间的要求,如图、如何动态改变easyui datagrid的宽度、如何在as中设置DataGrid的百分比宽度和高度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10141042.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存