布局作为全景的背景

时间:2013-01-31 12:17:09

标签: windows-phone-7 windows-phone-8 windows-phone

我想在Windows Phone平台上为我的Panorama设置背景。背景应该是单独的布局或UI元素,而不是静态JPEG或PNG图像。我怎样才能做到这一点? 感谢。

1 个答案:

答案 0 :(得分:4)

所以这实际上可以通过覆盖全景的平移层(控制对视差效果的秘密调整)来实现:

<phone:Panorama>
    <phone:Panorama.Template>
        <ControlTemplate TargetType="phone:Panorama">
            <Grid x:Name="TemplateGrid"
                  Background="Transparent"
                  Loaded="TemplateGrid_OnLoaded">
                  <Grid.RowDefinitions>
                      <RowDefinition Height="auto" />
                      <RowDefinition Height="*" />
                  </Grid.RowDefinitions>

                  <controlsPrimitives:PanningBackgroundLayer                       
                                 x:Name="BackgroundLayer"
                                 Grid.RowSpan="2"
                                 HorizontalAlignment="Left">
                      <!-- Whatever UI elements you like -->                          
                  </controlsPrimitives:PanningBackgroundLayer>
                  <controlsPrimitives:PanningTitleLayer x:Name="TitleLayer"
                                 Grid.Row="0"
                                 HorizontalAlignment="Left"
                                 CacheMode="BitmapCache"
                                 Content="{TemplateBinding Title}"
                                 ContentTemplate="{TemplateBinding TitleTemplate}"/>
                  <controlsPrimitives:PanningLayer x:Name="ItemsLayer"
                                 Grid.Row="1"
                                 HorizontalAlignment="Left">
                      <ItemsPresenter x:Name="items" />
                  </controlsPrimitives:PanningLayer>
              </Grid>
          </ControlTemplate>
      </phone:Panorama.Template>
</Panorama>

我建议您谨慎使用背景图层中的内容。形状和图像都很好,但按钮和其他此类输入控件将能够接受点击和点击,这对用户来说会很奇怪。