Динамически добавлять строки/столбцы в сетку

У меня есть дочерний элемент UserControl, состоящий из нескольких текстовых полей, меток, изображений и т.д. Мне нужно заполнить этот элемент управления в элементе управления родительским элементом, который имеет сетку.

Количество элементов управления дочернего пользователя, которые должны быть заполнены в родительском пользовательском элементе управления, определяется во время выполнения и может меняться. В основном число зависит от результата поиска. Таким образом, это может быть от 0 до n.

Как я могу заполнить элемент управления дочернего пользователя в родительском элементе управления? Или есть ли альтернатива использованию Grid-управления для этого?

Примечание. Я должен сделать это в моей модели ViewModel.

Ответ 1

Чтобы иметь динамический размер Grid (количество столбцов/строк), вы можете использовать помощники, такие как @Rachel WPF Grids Row/Column Count Properties

В вашем случае это зависит от того, что именно вы пытаетесь достичь, как в большинстве простых случаев на основе контекста, когда есть такое требование, как:

Количество элементов управления дочерних элементов, которые должны быть заполнены в родительском пользовательском элементе управления, определяется во время выполнения и может меняться. В основном число зависит от результата поиска. Поэтому он может быть от 0 до n.

Я бы предпочел пойти с ItemsControl (Example). Используйте ItemTemplate для связи с вашим ребенком UserControl. При необходимости вы также можете настроить ItemsPanel для управления компоновкой по своему усмотрению.