我有一个数据网格视图 D ,其中填充了 L 行,每个行都包含一个扩展器 E , 每行 L 是根据数据库中存在的数据创建的 每个扩展器 E 可能都来自数据库中另一个表中的几行 li 。
当我单击扩展器中的行 li 之一时,所选项目将是包含扩展器 E 的原始行 L 。 ,因此我无法清楚地确定我点击了 li 的那一行。 我不能在这些行上输入名称,因为它们是生成的,并且都具有相同的名称。
要删除行 li 或编辑其中的某些数据,我放置了2个小图标(上面有图片的椭圆),并有一个“ OnMouseLeftButtonUp”事件,几乎像一个“ OnClick”事件一样。 单击椭圆后,我想访问 li 行及其中的所有数据,但是我不知道该怎么做。
请原谅我,我无法发送任何代码,因为某些代码可能具有“机密”性质
答案 0 :(得分:0)
通常,您可以遍历支持逻辑树以到达所需位置。例如,我有一个非常相似的示例,其中我将一个图标嵌入到捕获用户交互的数据网格中。我最终在事件处理程序中做了这样的事情:
(((sender as Image)?.DataContext as DataRecord)?.DataItem as MyViewModelForThisRecord)
因此,在无需过多详细分析您所给出的特定情况的情况下,我将在事件处理程序中添加一个断点,并查看如何浏览其公开的属性,寻找可能的方法。视图模型(我相信您也可以在文档中进行筛选,以解决此问题,但是我经常发现,仅检查发送者属性的更直接方法会更快)。
所有人都说,您需要做两件事:
然后仅从用于填充数据网格的任何列表中删除项目(2)(来自视图模型1)。
答案 1 :(得分:0)
感谢您的耐心配合。
最后,我将DataGrid.selectedCell.Item属性转换为 L 行,
并使用该ligne中包含的ID在我的数据库中找到它,
然后我使用一些独特的属性来定义 li 行,以获取所需的位置。
如果我正确地描述了我的问题,解决该问题将更加简单,但是英语不是我的母语,并且我在描述问题时有些挣扎。