Очистить ячейку сетки - PullRequest
0 голосов
/ 11 августа 2010

У меня есть элемент управления Grid (не DataGrid), и я хочу удалить содержимое, например, второй столбец во втором ряду. Можно ли это сделать без ссылки на содержимое ячейки сетки?

Большое спасибо за любую подсказку!

Ответы [ 2 ]

4 голосов
/ 11 августа 2010

Нашли более стабильное решение, хотя оно требует циклического прохождения по ячейкам:

        // 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;
            }
0 голосов
/ 11 августа 2010

В codebehind, я полагаю?

Если они объявлены по порядку и все поля заполнены, вы можете получить номер ячейки как

int cellNumber = rowNumber * columnCount + columnNumber;

Тогда myGrid.Children[cellNumber-1] даетвы дочерний узел, который вы хотите.

myGrid.Children.RemoveAt(ellNumber-1); удалит этот дочерний узел из сетки.

Обратите внимание, что он удаляется только из списка дочерних элементов сетки.Если у вас есть какие-либо другие ссылки на этот предмет, вы также должны позаботиться о них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...