DevExpress WPF中文教程:如何解决行焦点、选择的常见问题?

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

本文将帮助用户解决使用DevExpress WPF的网格控件时关于行聚焦和选择的常见问题。

获取DevExpress v24.1正式版下载(Q技术交流:532598169)

GridControl自动选择第一行

问题

DevExpress WPF GridControl在启动时自动聚焦第一行。

DevExpress WinForms中文教程图集

解决方案

禁用DataControlBase.AllowInitiallyFocusedRow属性,在这种情况下,DevExpress WPF GridControl在启动时不聚焦或不选择任何行。

DevExpress WinForms中文教程图集

注意:一旦最终用户聚焦一行,GridControl至少包含一个聚焦行。

用户无法聚焦GridControl中的任何行或单元格

问题

不能聚焦GridControl中的任何单元格或行。

解决方案

若要在GridControl中允许行和单元格焦点,请验证GridControl的DataViewBase.NavigationStyle属性是否设置为Cell。

GridControl在设置数据源后失去选择和焦点

问题

当GridControl的ItemsSource被重置时,GridControl会重新生成它的所有行。

解决方案

要在GridControl中保留选择、焦点、展开的主行和其他行设置,必须手动将这些设置保存到本地变量,您现在可以重置ItemsSource并手动恢复保存的值。

如果控件失去焦点,则焦点元素的背景颜色会改变

问题

当GridControl失去焦点时,所选行的颜色会逐渐消失。

DevExpress WinForms中文教程图集

解决方案

将视图的DataViewBase.FadeSelectionOnLostFocus属性设置为false。

DevExpress WinForms中文教程图集

条件格式不适用于聚焦行或单元格

问题

格式条件样式的优先级低于聚焦行背景颜色。

解决方案

要显示突出显示的单元格和行,处理TableView.CustomRowAppearance和TableView.CustomCellAppearance事件。

启用多重选择模式时,聚焦行不突出显示

问题

如果使用多行选择并在代码中设置DataControlBase.CurrentItem属性,则聚焦的行不会突出显示;只有虚线边框可见。

解决方案

启用多重选择后,DataControlBase.CurrentItem和DataControlBase.SelectedItem属性引用不同的项。DataControlBase.CurrentItem管理当前关注的项,而DataControlBase.SelectedItem用于被选中的对象,若要聚焦和突出显示一行,请指定这两个属性。

在代码后面设置当前项和当前列属性后,单元格编辑器不会出现

问题

在后面的代码中更改DataControlBase.CurrentItem和DataControlBase.CurrentColumn属性之后,您就不能打开被聚焦单元格的编辑器。如果目标行位于视窗之外,则可能发生这种情况。

解决方案

由于虚拟化机制,GridControl应该为目标数据行初始化相应的项。为了防止在打开单元格编辑器时出现问题,在更新DataControlBase.CurrentItem和DataControlBase.CurrentColumn属性后,使用BeginInvoke 方法调用DataViewBase.ShowEditor 方法。

C#

gridControl.CurrentItem = Items.First();
Dispatcher.BeginInvoke(new Action(() => {
tableView.ShowEditor(true);
}));
如何禁用单个行和单元格的选择

问题

您希望阻止选择某些行和单元格。

解决方案

处理以下事件:DataViewBase.CanSelectRow, TableView.CanSelectCell, DataViewBase.CanUnselectRow和TableView.CanUnselectCell。

将ViewModel属性绑定到选定项集合的问题

问题

将ViewModel属性绑定到GridControl的DataControlBase.SelectedItems属性,即使在用户选择行之后,该属性也返回null。

解决方案

确保用一个空集合初始化ViewModel的属性,GridControl将选定的项添加到现有集合中,它不会在每次选择更改时创建新集合。

在触控设备上不能选择多行

问题

用户只能在Ctrl或Shift键的帮助下选择行,它们无法仅通过触摸手势选择多行。

DevExpress WinForms中文教程图集

解决方案

要启用对触摸友好的多行选择,将DataControlBase.SelectionMode属性设置为MultiSelectMode.MultipleRow。

DevExpress WinForms中文教程图集

如何禁用多行或单元格选择

问题

如果DataControlBase.SelectionMode 属性设置为行或单元格,则启用多选择。

解决方案

如果不启用多选功能,请将DataControlBase.SelectionMode设置为None。

GridControl失去键盘焦点

问题

GridControl在其单元格编辑器关闭时失去键盘焦点,如果GridControl位于容器(如ScrollViewer)内,则可能发生此问题,容器控件可以窃取键盘焦点。

解决方案

禁用容器的Focusable 属性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/430730.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

0-1开发自己的obsidian plugin DAY 2

今天上午解决了三个问题 1. typescript长得丑/一片飘红/格式检查太严格 在vscode的settings里搜索下面这个然后false掉: "typescript.validate.enable": false 就不会一片飘红了(其他下载第三方插件如TSLint和typescript hero的方法都不好使&…

虚幻引擎的三种输入模式和将控件显示到屏幕上

首先要知道一个概念 , HUD 和 Input 都是由 PlayerController 来控制的 而虚幻的Input控制模式有三种 Set Input Mode Game Only (设置输入模式仅限游戏): 视角会跟着鼠标旋转 , 就是正常游戏的模式 , 这也是游戏默认输入模式 Set Input Mode UI Only (设置输入模式仅限UI): …

DHCP协议原理(网络协议)

DHCP简介 定义 DHCP(动态主机配置协议)是一种网络管理协议,能够自动为局域网中的每台计算机分配IP地址及其他网络配置参数,包括子网掩码、默认网关和DNS服务器等。这一机制极大简化了网络管理,尤其在大型局域网中&am…

sheng的学习笔记-AI-K-摇臂赌博机(K-armed bandit)

AI目录:sheng的学习笔记-AI目录-CSDN博客 强化学习 sheng的学习笔记-AI-强化学习(Reinforcement Learning, RL)-CSDN博客 基础知识 单步强化学习任务 先考虑比较简单的情形:最大化单步奖赏,即仅考虑一步操作。需注意…

使用API有效率地管理Dynadot域名,注册域名服务器(NS)信息

前言 Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮箱&…

GPU共享技术深度剖析与总结

在人工智能和深度学习领域,GPU(图形处理器)已成为不可或缺的计算工具。随着深度学习模型的规模和复杂性的增加,单个GPU已经难以满足所有训练需求,GPU共享技术应运而生,成为提高训练效率的重要手段。本文将深…

聊聊AUTOSAR:基于Vector MICROSAR的TC8测试开发方案

技术背景 车载以太网技术作为汽车智能化和网联化的重要组成部分,正逐步成为现代汽车网络架构的核心,已广泛应用于汽车诊断(如OBD)、ECU软件更新、智能座舱系统、高清摄像头环视泊车系统等多个领域。 在这个过程中,ET…

oklink爬虫逆向分析

目标网站 aHR0cHM6Ly93d3cub2tsaW5rLmNvbS96aC1oYW5zL2tsYXl0bi9ibG9jay1saXN0L3BhZ2UvMg 一、抓包分析 请求头有很多加密参数,不过经过观察,发现只有X-Apikey是检测的 二、逆向分析 发包类型不是XMLHttpRequest,不能下xhr断点 打开启动器…

【项目案例】物联网比较好的10+练手项目推荐,附项目文档/源码/视频

练手项目推荐 1 智能小车 项目功能介绍: 本项目由三部分组成:应用端(微信小程序)、设备端(Hi3861)、驱动端(UPS)。 1. 应用端,采用微信小程序作为应用端控制界面。在开…

spring里面内置的非常实用的工具

一 、请求数据记录 Spring Boot提供了一个内置的日志记录解决方案,通过 AbstractRequestLoggingFilter 可以记录请求的详细信息。 AbstractRequestLoggingFilter 有两个不同的实现类,我们常用的是 CommonsRequestLoggingFilter。 通过 CommonsRequestL…

CSS | 如何来避免 FOUC(无样式内容闪烁)现象的发生?

一、什么是 FOUC(无样式内容闪烁)? ‌FOUC(Flash of Unstyled Content)是指网页在加载过程中,由于CSS样式加载延迟或加载顺序不当,导致页面出现闪烁或呈现出未样式化的内容的现象。‌ 这种现象通常发生在HTML文档已经加载&…

WPF DataGrid 动态修改某一个单元格的样式

WPF DataGrid 动态修改某一个单元格的样式 <DataGrid Name"main_datagrid_display" Width"1267" Height"193" Grid.Column"1"ItemsSource"{Binding DataGridModels}"><DataGrid.Columns><!--ElementStyle 设…

旷视科技ShuffleNetV1代码分析[pytorch版]

一、前述 旷视科技针对于ShuffleNet系列网络在GitHub网站上已开源&#xff0c;其链接&#xff1a;https://github.com/megvii-model/ShuffleNet-Series 在这个系列中&#xff0c;包括了ShuffleNetV1/V2网络&#xff0c;如下图所示。 我们点开ShuffleNetV1文件夹&#xff0…

python爬虫:从12306网站获取火车站信息

代码逻辑 初始化 (init 方法)&#xff1a; 设置请求头信息。设置车站版本号。 同步车站信息 (synchronization 方法)&#xff1a; 发送GET请求获取车站信息。返回服务器响应的文本。 提取信息 (extract 方法)&#xff1a; 从服务器响应中提取车站信息字符串。去掉字符串末尾的…

UML——统一建模语言

序言&#xff1a; 是统一建模语言的简称&#xff0c;它是一种由一整套图表组成的标准化建模语言。UML用于帮助系统开发人员阐明&#xff0c;展示&#xff0c;构建和记录软件系统的产出。UML代表了一系列在大型而复杂系统建模中被证明是成功的做法&#xff0c;是开发面向对象软件…

【计算机基础】用bat命令将Unity导出PC包转成单个exe可执行文件

Unity打包成exe可执行文件 上边连接是很久以前用过的方法&#xff0c;发现操作有些不一样了&#xff0c;并且如果按上述操作比较麻烦&#xff0c;所以写了个bat命令。 图1、导出的pc程序 如图1是导出的pc程序&#xff0c;点击exe文件可运行该程序。 添加pack_project.bat文件 …

el-form中三级动态添加数据

el-form中三级动态添加数据 data数据view按钮触发事件 data数据 submitForm: {id: undefined, //修改IDapp_id: undefined, //IP类型name: , //规则名称sort: undefined, //排序detail: [{keycode: 0,title_one: undefined, //一级标题desc_detail: [{keycode: 0,title_two: u…

LPDDR4芯片学习(一)——基础知识与引脚定义

一、基础知识 01 dram基本存储单元 当需要将一位数据存储到DRAM中时&#xff0c;晶体管会充电或放电电容。充电的电容表示逻辑高&#xff08;1&#xff09;&#xff0c;放电的电容表示逻辑低&#xff08;0&#xff09;。由于电容会随着时间泄漏电荷&#xff0c;因此需要定期刷…

Axure大屏可视化模板:跨领域数据分析平台原型案例

随着信息技术的飞速发展&#xff0c;数据可视化已成为各行各业提升管理效率、优化决策过程的重要手段。Axure作为一款强大的原型设计工具&#xff0c;其大屏可视化模板在农业、园区、城市、企业数据可视化、医疗等多个领域得到了广泛应用。本文将通过几个具体案例&#xff0c;展…

PyTorch使用------自动微分模块

目录 &#x1f354; 梯度基本计算 1.1 单标量梯度的计算 1.2 单向量梯度的计算 1.3 多标量梯度计算 1.4 多向量梯度计算 1.5 运行结果&#x1f4af; &#x1f354; 控制梯度计算 2.1 控制不计算梯度 2.2 注意: 累计梯度 2.3 梯度下降优化最优解 2.4 运行结果&#x1…