Для любого ItemsControl, если элементы, добавленные в его коллекцию Items (либо напрямую, либо через ItemsSource), не являются экземплярами контейнера элементов этого элемента управления, то каждый элемент помещается в экземпляр контейнера элементов. Контейнер элемента - это класс, такой как TabItem или ListBoxItem. Контейнером элемента обычно является ContentControl или HeaderedContentControl, и ваш фактический элемент назначается его свойству Content, поэтому вы можете использовать шаблоны и т. Д. Для управления представлением содержимого. Вы также можете стилизовать сам контейнер элемента, используя свойство ItemCononterStyleContainerStyle.
В этом конкретном случае вы должны связать ItemsSource со списком SmartFormAreaPresenters. Затем используйте что-то вроде этого для управления вкладками:
<TabControl ItemsSource="{Binding SmartFormAreaPresenters}">
<TabControl.ItemContainerStyle>
<Style TargetType="{x:Type TabItem}">
<Setter Property="Header" Value="{Binding HeaderText}" />
</Style>
</TabControl.ItemContainerStyle>
<TabControl.ContentTemplate>
<DataTemplate DataType="{x:Type local:SmartFormAreaPresenter}">
<local:SmartFormAreaView />
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
где HeaderText - подходящее свойство для вашего SmartFormAreaPresenter. Вам также следует удалить TabItem из определения SmartFormAreaView. DataContext каждого просмотра будет автоматически установлен для соответствующего докладчика.
См. Блог доктора WPF для отличного обсуждения различных тем, связанных с ItemsControl.