我添加了一个Pivot Control
和三个。每个都有一个原样。每个都有一个字符串属性。我想编辑,创建 a并将其属性绑定到,但由于某种原因它不起作用。我确定这是因为 的为空,但我认为它会从特定的. 这是标题模板的代码。PivotItems
Blend
PivotItem
ViewModel
DataContext
ViewModel
Title
Header Template
TextBlock
Text
Title
DataContext
Header Template
PivotItem
xaml
<DataTemplate x:Key="HeaderTemplate">
<Grid Height="47" Width="354">
<TextBlock Margin="8,0,64,8" TextWrapping="Wrap" Text="{Binding Title}" d:LayoutOverrides="Width" FontSize="24" Foreground="Red"/>
</Grid>
</DataTemplate>
<controls:Pivot TitleTemplate="{StaticResource TitleTemplate}" HeaderTemplate="{StaticResource HeaderTemplate}">
<!--Pivot item one-->
<controls:PivotItem DataContext="{Binding Home, Mode=OneWay}">
<Grid>
<ListBox x:Name="listBox" ItemsPanel="{StaticResource HomeItemsPanel}" ItemTemplate="{StaticResource HomeItemTemplate}" ItemsSource="{Binding Tiles}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<GalaSoft_MvvmLight_Command:EventToCommand Command="{Binding OnSelectionChanged}" CommandParameter="{Binding SelectedIndex, ElementName=listBox}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</ListBox>
</Grid>
</controls:PivotItem>
<controls:PivotItem Margin="0,8,0,1">
<Grid/>
</controls:PivotItem>
<!--Pivot item two-->
<controls:PivotItem DataContext="{Binding More, Mode=OneWay}">
<Grid/>
</controls:PivotItem>
</controls:Pivot>
我想创建一个更复杂的东西Header Template
,但现在我正在测试是否可以绑定它,然后再继续处理不仅仅是 TextBlock 的东西。我知道我可以使用 a List
of ViewModels
,PivotControl.ItemSource
但是我必须使用 aDataTemplateSelector
等等,我不希望那样。
所以我想我的问题是这样的,我怎样才能让 HeaderTemplate 继承相应的 DataContext PivotItem
?谢谢你。