枢轴标题区域和内容区域的独特背景颜色

时间:2015-04-09 15:26:54

标签: xaml silverlight windows-phone-8 windows-phone-8.1

我正在使用Windows Phone 8.1 Silverlight应用。我目前有一个带有Pivot控件的页面,如下所示:

<phone:PhoneApplicationPage
    x:Class="SomeApp.TestPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Portrait"  Orientation="Portrait"
    shell:SystemTray.IsVisible="True">

    <Grid x:Name="LayoutRoot" Background="Chocolate">
        <phone:Pivot Title="DC UNIVERSE" Background="Chocolate">
            <phone:PivotItem x:Name="Batman" Header="Batman">
                <Grid x:Name="BatmanCharacterListPanel" Background="Beige">
                    <!--Some Content Here-->
                </Grid>
            </phone:PivotItem>
            <phone:PivotItem x:Name="Superman" Header="Superman">
                <Grid x:Name="SupermanCharacterListPanel" Background="Beige">
                    <!--Some Content Here-->
                </Grid>
            </phone:PivotItem>
        </phone:Pivot>
    </Grid>

</phone:PhoneApplicationPage>

当我在两个Pivot项目之间切换时,我会在页面之间显示背景颜色。我不要那个。我希望流量是一种连续的米色。简而言之,我希望Pivot能够&#34;看起来&#34;像滑动时的全景一样。

提出问题的另一种方法是如何单独为数据透视表控件的标题区域设置背景颜色,为内容区域设置不同的颜色?

2 个答案:

答案 0 :(得分:1)

这是因为您设置了整个Pivot的背景。当然,在未加载内容之前,您将看到背景颜色。因此,您应该为Pivot Title和PivotItem Header应用Background颜色。你应该看看这篇文章来实现这个目标: http://irisclasson.com/2015/01/03/changing-the-pivot-header-template-in-windows-phone-8-and-windows-phone-winrt/

答案 1 :(得分:0)

您可以设置枢轴本身的颜色

<Pivot Background="Beige">
</Pivot>

然后要设置标题的颜色,您可以为

设置样式
<Style TargetType="controlsPrimitives:PivotHeadersControl">
    <Setter Property="Template">
         <Setter.Value>
             <ControlTemplate TargetType="controlsPrimitives:PivotHeadersControl">
                 <Grid Background="Red">
                     <Canvas x:Name="Canvas">
                         <ItemsPresenter/>
                     </Canvas>
                 </Grid>
             </ControlTemplate>
         </Setter.Value>
    </Setter>
</Style>

您可以在http://visuallylocated.com/post/2012/05/23/Changing-the-background-color-of-your-pivot-headers.aspx

找到有关设置标题背景的更多详细信息