Как получить элемент управления в указанной строке и столбце в окне элемента управления Grid? - PullRequest
0 голосов
/ 29 апреля 2010

как добавить элемент управления в указанной строке и столбце в окне элемента управления Grid (не gridview или datagrid)? в C #

Предположим, мы знаем, в какой строке и столбце находится элемент управления, как получить элемент управления по строке и столбцу сетки?

Спасибо

1 Ответ

1 голос
/ 30 апреля 2010

Ну, вы могли бы сделать это с помощью запроса LINQ достаточно легко:

public IEnumerable<UIElement> GetElementsAtPosition(Grid grid, int row, int column)
{
    return grid.Children.OfType<UIElement>().Where(c => Grid.GetRow(c) == row && Grid.GetColumn(c) == column);
}

Для этого необходимо вернуть IEnumerable, так как на данном пересечении строк и столбцов может быть несколько элементов управления. Это также не очень надежно, если вы выполняете связывание строк / столбцов (это не поймет случай, когда элемент начинается с другой строки или столбца и охватывает его).

РЕДАКТИРОВАТЬ Спасибо @wpfwannabe за правильный оператор LINQ, необходимый для этой работы. Я все еще поражаюсь, что UIElementCollection не реализует IEnumerable .

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