如何将WP Panorama项目修改为全屏

Har*_*dev 3 silverlight layout windows-phone-7 panorama-control

我正在尝试修改PanoramaItem内容大小,使其没有边距并拉伸整个屏幕宽度/高度.到目前为止,我没有运气试图修改模板的副本.负边距可以处理左/上,但下一个全景项目总是从右边缘偷看,即使我设法拉伸全景项目,下一个全景项目在屏幕右侧重叠.

任何想法如何修改全景图,以便实际的panoramaitem占据整个屏幕(800x480)和以下全景项目总是从前一个panoramaitem的左侧480px,这样你就看不到下一个项目的一部分.

为什么我要修改全景图?因为控件具有内置功能,可以完成我想要它做的所有事情(我正在构建一个支持轻弹手势的全屏图片查看器).我只想让panoramaitem全屏,然后将图像放在容器的整个大小内(全屏)

全景架构 http://msdn.microsoft.com/en-us/library/ff941126%28v=vs.92%29.aspx

小智 8

C#

public class PanoramaFullScreen : Panorama
{
    protected override System.Windows.Size MeasureOverride(System.Windows.Size          availableSize)
    {
        availableSize.Width += 48;
        return base.MeasureOverride(availableSize);
    }
}
Run Code Online (Sandbox Code Playgroud)

XAML

<Style x:Key="PanoramaItemStyle1" TargetType="phone:PanoramaItem">
    <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
    <Setter Property="VerticalContentAlignment" Value="Stretch"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="phone:PanoramaItem">
                <Grid Background="{TemplateBinding Background}" Margin="0,0,0,0">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="auto"/>
                        <RowDefinition Height="*"/>
                    </Grid.RowDefinitions>
                    <ContentControl x:Name="header" CharacterSpacing="-35" ContentTemplate="{TemplateBinding HeaderTemplate}" Content="{TemplateBinding Header}" FontSize="66" FontFamily="{StaticResource PhoneFontFamilySemiLight}" HorizontalAlignment="Left" Margin="12,-2,0,38">
                        <ContentControl.RenderTransform>
                            <TranslateTransform x:Name="headerTransform"/>
                        </ContentControl.RenderTransform>
                    </ContentControl>
                    <ContentPresenter Content="{TemplateBinding Content}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" Grid.Row="1" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

ItemContainerStyle="{StaticResource PanoramaItemStyle1}"
Run Code Online (Sandbox Code Playgroud)