Я динамически добавляю Tabitems в элемент управления Tab во время выполнения (на C#), и это работает нормально, но как я могу динамически добавлять элементы управления к новым Tabitems? Табиты должны быть динамическими, поскольку они зависят от того, сколько строк данных считывается из базы данных. Макет каждого Tabitem будет идентичным. БлагодаряWPF - добавление динамических элементов управления для динамически добавленного Tabitem?
8
A
ответ
2
The TabItem является контроль содержания, так что просто его содержания свойства быть любым типом элемента, который вы хотите отобразить (например, сетки, содержащих другие элементы и т.д.)
4
Используйте Content свойства нового TabItem, там вы можете установить что-нибудь, как строки или другие элементы управления WPF:
private void AddChildControl(TabItem tabItem)
{
StackPanel newChild = new StackPanel();
tabItem.Content = newChild;
}
10
Если каждый TabItem
будет иметь тот же формат, я бы просто создать UserControl
, который включает в себя то, что вам нужно от макета и управления позицией, а затем место что в пределах TabItem.Content
собственности.
Затем вы можете передать данные через представление объекта в свойство TabItem.DataContext
, чтобы инициировать и использовать привязку.
TabItem item = new TabItem();
item.Content = new CustomUserControl();
item.DataContext = data; //where data is the data that
//comes from the database
//being represented in object form
Смежные вопросы
- 1. Добавление EventHandler для динамически добавленного элемента управления
- 2. Добавление динамических элементов управления
- 3. Событие WPF Fire для динамически добавленного управления в панели стека
- 4. Создание динамических элементов управления динамически
- 5. Динамически скрыть WPF TabItem
- 6. Добавление кнопок jQueryui для динамически добавленного содержимого
- 7. Добавление пользовательских элементов управления динамически
- 8. Создание динамических элементов управления
- 9. Qt - Добавление динамических элементов управления к заполнителю
- 10. Добавление элементов управления для контроля таблицы динамически
- 11. Добавление элементов управления динамически в соответствии с типом данных WPF
- 12. JQuery - добавление динамически добавленного элемента управления из getJSON
- 13. Binding для элементов управления содержимым TabItem
- 14. WPF-обработчики для подконтрольных элементов управления пользователя
- 15. TemplateBinding для динамических элементов управления
- 16. WPF пользовательских элементов управления на основе TabItem и темы
- 17. Извлечение TabItem хостинга вложенного элемента управления WPF
- 18. Создание javascript для динамических элементов управления?
- 19. jquery функции для получения динамических элементов управления
- 20. Событие динамически добавленного управления не запускается
- 21. JQuery: добавление динамических элементов управления приводит к проблеме
- 22. MVVM WPF Добавление TabItem из другого содержимого TabItem
- 23. Добавление элементов управления динамически не XHTML отформатировано
- 24. Программно добавление представлений/элементов управления в WPF
- 25. WPF Динамическое добавление элементов управления в окно
- 26. Добавление динамически добавленных элементов управления в ViewModel
- 27. Добавление элементов управления динамически без его однообразна
- 28. Добавление элементов управления динамически в форме вопроса
- 29. Добавление пользовательских элементов управления пользовательским интерфейсом (WPF)
- 30. Динамические элементы управления в WPF - Добавление переменной количества элементов управления
Благодарим вас, я сейчас начинаю продвигаться. Поэтому, если в моем пользовательском контроле есть несколько элементов управления, вы говорите, что я могу передавать данные «все в один ход» в TabItem, упаковывая данные в объект? Предположительно, тогда в usecontrol можно было бы использовать метод, который я мог бы назвать? –
@Paul Во многих словах да. В UserControl вы можете использовать DataBinding, так как когда вы установите DataContext TabItem, он будет каскадом вниз. Затем в UserControl ваши элементы управления могут привязываться к данным в DataContext. –
Огромное спасибо Аарону за вашу помощь, еще один вопрос, каждый табитум идентичен, но я не уверен, что лучший контроль (ы) использовать. На каждой вкладке мне нужно отобразить «строки», представляющие каждую строку, считанную из базы данных. Каждая строка данных состоит из 3 текстовых полей, логических и целочисленных чисел в диапазоне 1-4, представляющих одно из 4 возможных изображений. Мне нужно отобразить текст, логическое значение (в флажке) и соответствующее изображение с некоторым подходящим элементом управления, с помощью которого можно изменить его. Могу ли я сделать это с помощью datagrid? –