如何在WPF网格视图中查找选定单元的像素坐标
|
我已经尝试了几天来回答这个问题。我已经找到了一些代码片段,它们接近但没有满足我的需求。
我需要能够识别WPF数据网格中特定单元格的x和y坐标。该单元格将成为所选单元格。我还需要能够确定该单元的确切大小。
这样一来,我可以在用户编辑该单元格时在该单元格上叠加一个编辑器控件,这样我就可以接受用户输入。
之所以必须这样做,是因为我需要逐行使用不同的编辑器。 datagrid中有几列。特别是一栏要求用户提供一个值。根据另一列的内容,用户需要在值列中提供的输入类型会发生变化。文本输入或数字输入需要一个文本框。有些行是布尔值,用户需要从复选框中进行选择。一些行具有预定义的值,并且用户需要一个组合框。还有文件路径行,我希望自动打开一个文件打开对话框,并将所选文件名放入单元格中。所以我不能只使用datagrid中的内置编辑器,因为它允许我按列指定格式,但不能按行指定格式。当然,我不提前知道行的内容,因此需要在运行时完成。
我已经能够移动编辑器控件,并使它们可见和不可见。
我已经能够获得所选单元格左侧的X坐标。
我还能够找到所选单元格的宽度。
我以几种不同的方式尝试过的单元格的Y坐标和单元格的高度,但没有一个起作用。
我已经弄清楚了如何执行此操作的逻辑流程。我做了一个在窗体应用程序中运行的示例。 100行代码和大约30分钟,它运行良好。几天来,我一直在努力寻找如何在WPF中执行相同的操作。任何帮助,将不胜感激。
没有找到相关结果
已邀请:
1 个回复
臀夯脖锑
仅存在X,但与Y相同。主要问题是需要一个开关来确定源(TextBlock,Border等),并且在第二个单元格中单击时可以工作时间(尽管可能随属性而变化)。