3

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

任何想法如何修改全景,以便实际的全景项目占据整个屏幕(800x480),并且以下全景项目始终距离前一个全景项目的左侧 480px,这样您就看不到下一个项目的一部分。

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

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

4

2 回答 2

8

C#

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

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}"
于 2013-05-24T02:27:14.813 回答
2

您可以尝试将 Pivot 与 null Header 和 Title 以及项目标题一起使用,而不是使用 Panorama。它也将支持轻弹。

于 2012-03-29T17:32:10.770 回答