【发布时间】:2017-04-03 02:21:13
【问题描述】:
我目前正在开发一个带有 TabControl 的应用程序,每个选项卡都有一个继承自 ITabViewModel 的 ViewModel,它有两个属性:HeaderText 和 HeaderImage。我希望从每个 ViewModel 设置这些。因此,我尝试使用HeaderTemplate 样式,但这不起作用。谁能告诉我怎样才能让它工作?
<TabControl>
<TabControl.Resources>
<Style TargetType="TabItem" BasedOn="{StaticResource {x:Type TabItem}}">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Source="{Binding HeaderImage}" Height="20" Margin="5, 0"/>
<TextBlock Text="{Binding HeaderText}"/>
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.Resources>
<TabItem DataContext="{Binding ViewModelStart}">
</TabItem>
<TabItem DataContext="{Binding ViewModelStartupManager}">
</TabItem>
</TabControl>
【问题讨论】: