WPF datagrid 禁用方向键导航

问题描述

使用了datagrid,列很多,选中的时候,希望按<-->直接移动滚动条,而不是在单元格上出一个焦点,焦点移动到最后再滚屏有没有什么好的方法实现?或是配置什么属性?

解决方案

解决方案二:
privatevoiddataGrid_KeyDown_1(objectsender,KeyEventArgse){if(e.Key==Key.OemComma){//向下滚动}if(e.Key==Key.OemPeriod){//条向上滚动}}

解决方案三:
目前我也是这么做的,可是我希望按方向键的时候能够直接设置滚动条位置,但是加上滚动条之后就会抛出异常在使用ItemsSource之前,项集合必须为空。我是用ItemSources绑定了list
解决方案四:
最简单的方式就是设置滚动条的滚动偏移量offset。需要你得到DataGrid控件的可视树种的ScrollView控件,再控制其偏移量。

时间: 2024-11-18 23:20:12

WPF datagrid 禁用方向键导航的相关文章

wpf datagrid 进入编辑模式的方式

问题描述 wpf datagrid 进入编辑模式的方式 请教,wpf的datagrid怎么禁止双击某自定义列进入(退出)编辑模式,而是点击列中的button进入编辑模式 解决方案 在doubleclick中禁用下

wpf 多文档视图-WPF 左边是一个导航树 点击左边导航树的节点如何实现右边多视图显示?

问题描述 WPF 左边是一个导航树 点击左边导航树的节点如何实现右边多视图显示? 本人初学WPF,遇到这个问题不太懂,求大神给指导下思路,谢谢!

wpf datagrid控件拖动列头,改变顺序,获取改变后的排列顺序

问题描述 wpf datagrid控件拖动列头,改变顺序,获取改变后的排列顺序 wpf datagrid控件拖动列头,改变顺序,获取改变后的排列顺序 解决方案 看看有没有列顺序改变触发的事件,如果有在这个事件里面获取

wpf datagrid 设置行颜色

问题描述 wpf datagrid 设置行颜色 ** 我是这样设置颜色,主要是验证一数据根据条件给行设置颜色.但是一滚动颜色设置就不对了,行颜色来回跑** DataGridRow row = (DataGridRow)dataGrid.ItemContainerGenerator.ContainerFromIndex(rowIndex); if (rowContainer == null) { dataGrid.UpdateLayout(); dataGrid.ScrollIntoView(da

wpf datagrid 光标如何落到单元格里

问题描述 wpf datagrid 光标如何落到单元格里 我的这个datagrid没有写任何代码,是后台绑定的数据,表头也是. 我想后台控制编辑位置,这个效果 解决方案 http://bbs.csdn.net/topics/390426889

wpf datagrid如何获取DataGridCheckBoxColumn选中的值,后台如何判?

问题描述 wpf datagrid如何获取DataGridCheckBoxColumn选中的值,后台如何判? ,这个后台如何判断是否选中,并且获取选中的那一列.

wpf datagrid进入编辑模式

问题描述 wpf datagrid进入编辑模式 请教,wpf的datagrid怎么禁止双击某自定义列进入(退出)编辑模式,而是点击列中的button进入编辑模式, 解决方案 默认将每列设置成只读的 当点击button,再将此行设置成可编辑即可 解决方案二: 设置成可编辑后,在单元格的空白处点击会退出编辑模式的.单元格里有三个button

wpf datagrid tooltip为空怎么处理

问题描述 wpf datagrid tooltip为空怎么处理 我根据网上的资料,获得了在wpf下给datagrid统一给tooltip但是当datagrid的值为空时,tooltip就会变成一个白框,不好看,请问如何去掉,统一给提示的方法是: <Setter Property=""ToolTipService.ToolTip"" Value=""{Binding RelativeSource={RelativeSource Mode=Se

获取wpf datagrid当前被编辑单元格的内容

原文 获取wpf datagrid当前被编辑单元格的内容 确认修改单元个的值, 使用到datagrid的两个事件 开始编辑事件 BeginningEdit="dataGrid_BeginningEdit" 编辑结束事件 CellEditEnding="dataGrid_CellEditEnding" 代码片段如下 //开始修改时单元格内的值string preValue = "";private void dataGrid_BeginningEd