Я хочу элемент управления TabControl, где каждый элемент табуляции представляет (Viewer) Employee ViewModel; заголовок должен быть свойством DisplayName этой модели представления, а контент должен быть пользовательским элементом управления (EmployeeDetailsView), который имеет контекст данных модели представления.tab control data template
Так стендовая XAML (есть такая вещь ??):
<TabControl x:Name="Items">
<TabItem Header="DisplayName" Content=local:EmployeeDetailsView />
<TabControl>
Что должен мой реальный XAML выглядеть?
Cheers,
Berryl
EDIT для Vortex
<TabControl x:Name="Items" >
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding DisplayName}" />
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<ContentControl>
<local:EmployeeDetailView/>
</ContentControl>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
Awesome. Должен ли я иметь пользовательский элемент EmployeeDetailsView как ресурс где-нибудь (он находится в xmlns с псевдонимом «локальный»)? Я не могу напрямую привязываться к нему – Berryl
О, я вижу. Я могу просто вставить его в элемент управления контентом декларативно: ContentControl> –
Berryl
@Berryl EmployeeDetailsView является свойством ViewModel и предполагается, что он будет создан в коде. Например, элементы [0] .EmployeeDetailsView = new SomeUserControlView(); Также вы можете получить от ресурса, this.Resources "controlResourceKey" – vorrtex