0
我使用了Blend來修改我的透視項目標題的模板。結果看起來不錯,但我不理解最終的標記。頁面內容在使用模板時流過PivotItem標題
當我將數據綁定到我的數據透視項時,出現問題,因爲它看起來漂浮在標題上。我可以通過設置邊距來解決這個問題,但不是爲每個數據透視表項都做這件事,而是希望瞭解樣式標記並希望將其修復。
<Style x:Key="PivotStyle1" TargetType="controls:Pivot">
<Setter Property="Margin" Value="0"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="Background" Value="White"/>
<Setter Property="ItemsPanel">
<Setter.Value>
<ItemsPanelTemplate>
<Grid/>
</ItemsPanelTemplate>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="controls:Pivot">
<Grid HorizontalAlignment="{TemplateBinding HorizontalAlignment}" VerticalAlignment="{TemplateBinding VerticalAlignment}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid CacheMode="BitmapCache" Grid.RowSpan="2" >
<Grid.Background>
<LinearGradientBrush EndPoint="0.5,1" MappingMode="RelativeToBoundingBox" StartPoint="0.5,0">
<GradientStop Color="#FFD7E9F1"/>
<GradientStop Color="#FF1BA1E2" Offset="1"/>
</LinearGradientBrush>
</Grid.Background>
</Grid>
<Grid Background="{TemplateBinding Background}" CacheMode="BitmapCache" Grid.Row="2" />
<ContentPresenter ContentTemplate="{TemplateBinding TitleTemplate}"
Content="{TemplateBinding Title}" Margin="24,17,0,-7"/>
<controlsPrimitives:PivotHeadersControl x:Name="HeadersListElement" Grid.Row="1" Foreground="White" />
<ItemsPresenter x:Name="PivotItemPresenter" Margin="0,2,0,8" Grid.RowSpan="3"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
設定Pivot.HeaderTemplate肖恩下面表明要簡單得多,但是在標題項目之間的背景顏色的間隙的效果。
<controls:Pivot>
<controls:Pivot.HeaderTemplate>
<DataTemplate>
<StackPanel>
<StackPanel.Background>
<LinearGradientBrush EndPoint="0.5,1" MappingMode="RelativeToBoundingBox" StartPoint="0.5,0">
<GradientStop Color="#FFD7E9F1"/>
<GradientStop Color="#FF1BA1E2" Offset="1"/>
</LinearGradientBrush>
</StackPanel.Background>
<TextBlock Text="{Binding}" FontSize="{StaticResource PhoneFontSizeExtraExtraLarge}" Foreground="White" />
</StackPanel>
</DataTemplate>
</controls:Pivot.HeaderTemplate>
這有助於我理解這個問題越來越什麼來自混合的xaml正在做。我設置背景顏色(實際上是一個漸變)並使用headertemplate,因爲您建議在標題之間產生空隙。我會仔細研究一下,看看我能否弄清楚如何縮小差距。謝謝! – earthling
關於您更新的問題,我已經更新了我的答案,以幫助 –
美麗,謝謝!所有的pivot標題都會使用該模板嗎? – earthling