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

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

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.kler.cn/a/451179.html

相关文章:

  • 快速解决oracle 11g中exp无法导出空表的问题
  • 【C++】模板与泛型编程(一):定义模板,控制实例化、效率与灵活性
  • 回归预测 | MATLAB实现CNN-LSSVM卷积神经网络结合最小二乘支持向量机多输入单输出回归预测
  • Git远程仓库的多人协作
  • 有没有检测吸烟的软件 ai视频检测分析厂区抽烟报警#Python
  • 由于这些关键原因,我总是手边有一台虚拟机
  • Refusal in Language Models Is Mediated by a Single Direction
  • GESP CCF C++五级编程等级考试认证真题 2024年12月
  • 第20天:JS信息收集-Web应用JS架构URL提取数据匹配Fuzz接口WebPack分析自动化
  • springboot-starter版本升级es版本问题
  • 目标检测——基于yolov8和pyqt的螺栓松动检测系统
  • Spark和MapReduce之间的区别?
  • HTML5适配手机
  • GamePlay UE网络同步
  • 基于Java的智能客服系统
  • uniapp开发微信小程序实现获取“我的位置”
  • TCP Vegas拥塞控制算法——baseRtt 和 minRtt的区别
  • IDEA用jformdesigner插件做管理系统MVC架构
  • Scala项目(图书管理系统)
  • 最新深度学习YoloV11训练,转化,推理,C#部署
  • uniapp跨平台开发---webview调用app方法
  • Scala图书管理系统
  • 【电路笔记 信号】Metastability 平均故障间隔时间(MTBF)公式推导:进入亚稳态+退出亚稳态+同步器的可靠性计算
  • php时间strtotime函数引发的问题 时间判断出错
  • LabVIEW软件开发的未来趋势
  • 【前端】详解前端三大主流框架:React、Vue与Angular的比较与选择