问题与解决方案:WPF DataGrid获取单元格所在行列索引
发布时间
阅读量:
阅读量
问题 :需要实现一个区域选择的功能,具体要求是对DataGrid控件中的某一行进行操作,能够选择其中的若干列(DataGridCheckBoxColumn)。在实现过程中遇到了困惑,即如何准确获取行和列的具体数量。虽然WPF中提供了Columns属性,但并未提供单独用于获取行数的Rows属性。
解决方法: 可以通过引入可视化树的相关概念,并结合ItemContainerGenerator.ContainerFromIndex(int)这一方法,来定位并获取对应的单元格信息,具体实现方式可参考提供的代码示例
// 从可视化树中获取到需要的子控件
private T GetVisualChild<T>(DependencyObject parent) where T:Visual
{
T child = default(T);
int numVisuals = VisualTreeHelper.GetChildrenCount(parent);
for(int i=0;i<numVisuals;i++)
{
Visual v = (Visual)VisualTreeHelper.GetChild(par
全部评论 (0)
还没有任何评论哟~
