DevExpress WPF中文教程:Grid - 如何移动和调整列大小?(二)

server/2024/12/27 7:44:45/

DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件的衍伸产品,还是以数据为中心的商业智能产品,都能通过DevExpress WPF控件来实现。

在上文中(点击这里回顾>>),我们为大家介绍了如何增强键盘导航和屏幕阅读器、移动列、调整列的大小等,本文将继续介绍如何实现最佳适配、将总列宽度与网格宽度相匹配等功能,欢迎持续关注我们哟~

获取DevExpress WPF v24.2正式版下载

最佳适配

DevExpress WPF GridControl可以计算并应用列或带显示其所有内容所需的最佳宽度。

您可以将Best Fit(最佳适配)应用于:

  • 一个单独的列
  • 一个单独的带
  • 视图中的所有列和带
应用最佳适配

在UI中

双击列(或带)标题的右边框:

DevExpress WPF 中文教程图集

右键单击列(或带)标题,并在调用的上下文菜单中选择Best Fit项:

DevExpress WPF 中文教程图集

在代码中

  • 【API】TableView.BestFitColumn / TreeListView.BestFitColumn - 调整列的大小来显示其所有内容。
  • 【API】TableView.BestFitColumns / TreeListView.BestFitColumns - 调整视图中所有列的大小来显示其内容。
  • 【API】TableView.BestFitModeOnSourceChange / TreeListView.BestFitModeOnSourceChange, ColumnBase.BestFitModeOnSourceChange - 指定当网格的ItemsSource改变时如何计算最佳宽度。
自动最佳适配

当网格加载时应用最佳适配

指定BestFitModeOnSourceChange属性,根据单元格和标题内容计算所有列的最佳宽度。

每次用户滚动网格时应用最佳适配

将列的Width属性设置为Auto,来使DevExpress WPF GridControl根据列的内容自动重新计算该列的最佳宽度。

禁止最佳适配

用户可以对任何列应用Best Fit,若要禁用某列或所有列的Best Fit,请将以下属性设置为false:

  • 【API】BaseColumn.AllowBestFit - 获取或设置是否允许计算最佳宽度并将其应用于列。
  • 【API】TableView.AllowBestFit / TreeListView.AllowBestFit - 获取或设置是否允许计算最佳宽度并将其应用于视图中的所有列。
Best Fit选项
  • 【API】TableView.BestFitArea / TreeListView.BestFitArea, ColumnBase.BestFitArea - 指定在GridControl调整列宽度时应考虑的界面元素(列标题、单元格等)。
  • 【API】TableView.BestFitMode / TreeListView.BestFitMode, ColumnBase.BestFitMode - 指定如何计算显示列内容的最佳宽度。
  • 【API】TableView.BestFitMaxRowCount / TreeListView.BestFitMaxRowCount, ColumnBase.BestFitMaxRowCount - 在计算最佳宽度时限制考虑的记录数量,以提高应用程序的性能。
  • 【API】BaseColumn.BestFitWidth - 当Best Fit应用于该列时,指定该列的宽度。
  • 【API】TableView.CalcColumnBestFitWidth / TreeListView.CalcColumnBestFitWidth - 返回显示所有内容所需的列的最佳宽度。
  • 【API】TableView.CustomBestFit / TreeListView.CustomBestFit - 允许您手动计算列的最佳宽度。
限制

在下列情况下,不能对列应用Best Fit(最佳适配):

  • BaseColumn.FixedWidth属性设置为true时;
  • BaseColumn.AllowResizing属性设置为false时。

如果应用程序包含多个带有网格的页面,则可以实现带有限制的Best Fit选项。检查以下几点:

  • GridControl被加载到可视树中;
  • GridControl包括列;
  • GridControl绑定到DataControlBase.ItemsSource集合 。
将总列宽度与网格宽度相匹配

如果列的总宽度超过网格的宽度,DevExpress WPF GridControl将显示一个水平滚动条,允许用户滚动网格列。

将TableView.AutoWidth / TreeListView.AutoWidth属性设置为true,GridControl更改列宽度以使总列宽度与网格宽度相匹配。当用户更改一列的宽度时,GridControl将更改其他列的宽度。

DevExpress WPF 中文教程图集

注意

  • 当GridControl的宽度设置为无限大时(例如,网格被放置在水平方向的堆栈面板中),AutoWidth属性不起作用。
  • 如果AutoWidth属性值为true,则不要将BaseColumn.Width属性设置为Auto。
相关的API
  • 【API】BaseColumn.FixedWidth - 将此属性设置为true以防止在调整其他列的大小时更改列宽度。
  • 【API】BaseColumn.MinWidth / BaseColumn.MaxWidth - 指定列的最小/最大宽度。
  • 【API】BaseColumn.ActualWidth - 返回列的实际宽度。

http://www.ppmy.cn/server/153557.html

相关文章

DP动态规划+贪心题目汇总

文章目录 背包01背包416. 分割等和子集 完全背包279. 完全平方数322. 零钱兑换 两个字符串DPLCR 095. 最长公共子序列139. 单词拆分 单个数组字符串DP5. 最长回文子串300. 最长递增子序列53.最大子数组和152. 乘积最大子数组198. 打家劫舍 三角形120. 三角形最小路径和 贪心121…

【EtherCATBasics】- KRTS C++示例精讲(2)

EtherCATBasics示例讲解 目录 EtherCATBasics示例讲解结构说明代码讲解 项目打开请查看【BaseFunction精讲】。 结构说明 EtherCATBasics:应用层程序,主要用于人机交互、数据显示、内核层数据交互等; EtherCATBasics.h : 数据定义…

Linux系统升级OpenSSH 9.8流程

参考链接: openssh最新版本下载地址:Index of /pub/OpenBSD/OpenSSH/portable/ 注意:openssh9.8需要依赖openssl,版本至少为1.1.1。 一、简介 Openssh存在远程代码执行漏洞(CVE-2024-6387),攻击者可以成功利用该漏…

深入理解Nginx工作原理及优化技巧

NGINX以高性能的负载均衡器,缓存,和web服务器闻名,驱动了全球超过 40% 最繁忙的网站。在大多数场景下,默认的 NGINX 和 Linux 设置可以很好的工作,但要达到最佳性能,有些时候必须做些调整。 NGINX被广泛应…

视频的音乐怎么提取为MP3格式?

MP3是一种广泛使用的音频压缩格式,以其高效的压缩率和良好的音质表现,成为了数字音频领域中的佼佼者,广泛应用于音乐存储、传输和播放。在日常生活中,我们经常遇到需要从视频中提取音频并将其转换为MP3格式的情况。视频的音乐怎么…

Unity自定义Inspector属性名特性以及特性自定义布局问题

前言: 在Unity中编辑属性的适合,一般都是显示属性的英文,如果想要改成中文的话又不能改变属性名,那么自定义特性是很好的选择。 一、自定以特性 这一块没有什么要多说的,就是自定义特性 using UnityEngine; #if UNI…

KNN分类算法 HNUST【数据分析技术】(2025)

1.理论知识 KNN(K-Nearest Neighbor)算法是机器学习算法中最基础、最简单的算法之一。它既能用于分类,也能用于回归。KNN通过测量不同特征值之间的距离来进行分类。 KNN算法的思想: 对于任意n维输入向量,分别对应于特征…

jsp | servlet | spring forEach读取不了对象List

导致这个问题的原因有很多的&#xff0c;这里讲到的只是原因之一 原因 taglib不认识forEach 解决办法 添加<% taglib uri"http://java.sun.com/jsp/jstl/core" prefix"c" %> &#xff08;我忘写这个东西了哈哈哈&#xff09;