Как заменить пользовательский элемент управления в ячейке в Grid.WPF? - PullRequest
0 голосов
/ 07 января 2012

У меня есть Grid с 5 строками и 5 столбцами. Я создал это Grid динамически. Каждая ячейка содержит пользовательский элемент управления. Я хотел бы динамически заменить пользовательский элемент управления другим пользовательским элементом управления в данной строке и столбце. Вы можете увидеть реализацию метода, которая создает Grid здесь .

Мой вопрос: как заменить пользовательский элемент управления в заданной строке и столбце после того, как Grid уже создан? Извините, если мой английский плохой!

Заранее спасибо!

1 Ответ

1 голос
/ 07 января 2012

Эта функция, вероятно, будет соответствовать вашим потребностям

public void ReplaceItemAt(Grid grid, FrameworkElement fe, int row, int col)
{
    // clear desired cell
    var items = grid.Children
        .Where(x => Grid.GetRow(x) == row && Grid.GetColumn(x) == col)
        .ToArray();
    foreach(var item in items) grid.Children.Remove(item);

    // make sure the new item is positioned correctly
    Grid.SetRow(fe, row);
    Grid.SetColumn(fe, col);

    // insert the new item into the grid
    grid.Children.Add(fe);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...