Если у каждого 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