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

wpf datagrid通过点击单元格 获取行列索引2.0

private void DataGrid_OnMouseRightButtonUp(object sender, MouseButtonEventArgs e)
{var dataGrid = sender as DataGrid;// 获取点击的位置var mousePosition = e.GetPosition(dataGrid);var hit = dataGrid.InputHitTest(mousePosition) as FrameworkElement;if (hit != null){// 获取点击的单元格DataGridCell cell = FindParent<DataGridCell>(hit);if (cell != null){DataGridRow row = FindParent<DataGridRow>(cell);// 获取行索引int rowIndex = row.GetIndex();//获取列索引int columnIndex = cell.Column.DisplayIndex;Console.WriteLine($"行索引: {rowIndex}, 列索引: {columnIndex}");// 获取当前单元格的内容// var currentValue = cell.Content.ToString();  // 修改数据源中的值dynamic rowItem = dataGrid.Items[rowIndex];var propertyName = cell.Column.SortMemberPath; // 获取绑定的属性名rowItem.GetType().GetProperty(propertyName).SetValue(rowItem, "aaa");}}
}// 辅助方法:找到指定类型的父级元素
private T FindParent<T>(DependencyObject child) where T : DependencyObject
{DependencyObject parentObject = VisualTreeHelper.GetParent(child);if (parentObject == null) return null;T parent = parentObject as T;return parent ?? FindParent<T>(parentObject);
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 适用于 Visual Studio 的 C++ 万能头
  • 密码生成器(HTML+CSS+JavaScript)
  • Java MR Map Reduce 模型
  • 综合能源充电站有序充电策略
  • 【数据集】遥感影像建筑物变化检测对比实验常用数据集分享
  • 基于Thymeleaf、bootstrap、layUI 混合前端应用
  • 为什么帕金森病患者的症状有时会出现波动性?
  • Godot《躲避小兵》实战之为游戏添加音效
  • 【IoTDB 线上小课 06】列式写入=时序数据写入性能“利器”?
  • 智能ai写作哪个好用?这几款工具让你的写作更加高效
  • .NET 给NuGet包添加Readme
  • 个性化营销:数字化时代的致胜法宝
  • 【C语言】常见文件操作
  • RK3588开发笔记-pdm接口ES7201音频采集调试记录
  • 安科瑞AEW100电力改造智能电力仪表,体积小巧
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • CSS盒模型深入
  • HTML中设置input等文本框为不可操作
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • JavaScript设计模式与开发实践系列之策略模式
  • Laravel Telescope:优雅的应用调试工具
  • laravel5.5 视图共享数据
  • PHP 7 修改了什么呢 -- 2
  • PHP CLI应用的调试原理
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 简单易用的leetcode开发测试工具(npm)
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • MPAndroidChart 教程:Y轴 YAxis
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​低代码平台的核心价值与优势
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #define,static,const,三种常量的区别
  • #define与typedef区别
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (C#)一个最简单的链表类
  • (C++二叉树05) 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树
  • (el-Date-Picker)操作(不使用 ts):Element-plus 中 DatePicker 组件的使用及输出想要日期格式需求的解决过程
  • (k8s)Kubernetes 从0到1容器编排之旅
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (二)hibernate配置管理
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)http-server应用
  • (转)程序员技术练级攻略
  • (转)创业家杂志:UCWEB天使第一步
  • (自用)仿写程序
  • .bat批处理出现中文乱码的情况
  • .NET 4.0中的泛型协变和反变
  • .net core 6 redis操作类
  • .NET 命令行参数包含应用程序路径吗?
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据