2013-08-18 6 views
11

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

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

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

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

ответ

12

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

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

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

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

+0

Отлично, что ТОЧНО, что мне нужно было сделать. Спасибо за комплекты :) – WAQ

+0

Я знаю, что он ответил, но чтобы помочь другим, пожалуйста, проверьте http://msdn.microsoft.com/en-us/library/system.windows.controls.grid(v=vs.90).aspx#feedback – user2330678