我有一个网格控件(不是DataGrid),我想删除例如第二行中的第二列。这可以在没有引用网格单元内容的情况下完成吗?
非常感谢你的提示!
答案 0 :(得分:4)
找到一个更稳定的解决方案,虽然它需要循环遍历单元格:
// these are the row and column number of the cell
// you want to have removed...
int getRow = 2, getCol = 5;
for (int i = 0; i < myGrid.Children.Count; i++)
if ((Grid.GetRow(myGrid.Children[i]) == getRow)
&& (Grid.GetColumn(myGrid.Children[i]) == getCol))
{
myGrid.Children.Remove(myGrid.Children[i]);
break;
}
答案 1 :(得分:0)
在代码隐藏中,我想?
如果按顺序声明它们并填写所有字段,则可以通过
获取单元格的编号int cellNumber = rowNumber * columnCount + columnNumber;
然后myGrid.Children[cellNumber-1]
为您提供所需的子节点。
myGrid.Children.RemoveAt(ellNumber-1);
会从网格中删除该子节点。
请注意,它只会从网格的子项列表中删除。如果您对该项目有任何其他参考,您也必须照顾它们。