Как да промените WP Panorama елемента, за да бъде на цял екран

Опитвам се да променя размера на съдържанието на PanoramaItem, така че да няма полета и да се простира по цялата ширина/височина на екрана. Досега не съм имал късмет да се опитвам да променя копие на шаблона. Отрицателните полета могат да се погрижат за левия/горния, но следващият панорамен елемент винаги наднича от десния ръб и дори ако успея да разтегна панорамен елемент, следващият се припокрива в дясната страна на екрана.

Някакви идеи как да модифицирате панорамата, така че действителният панорамен елемент да заема целия екран (800x480) и следващите панорамни елементи винаги да са на 480px от лявата страна на предишния панорамен елемент, така че да не можете да видите част от следващия елемент.

Защо искам да променя панорамата? Тъй като контролата има вградена функционалност, която прави всичко, което искам (изграждам програма за преглед на картини на цял екран с поддръжка на жестове за движение). Бих искал просто панорамният елемент да е на цял екран и след това да поставя изображения вътре, заемайки целия размер на контейнера (цял екран)

Панорамна архитектура http://msdn.microsoft.com/en-us/library/ff941126%28v=vs.92%29.aspx


person Hardev    schedule 29.03.2012    source източник
comment
използването на pivotitem вместо panormaitem изглежда е по-добър вариант.   -  person TutuGeorge    schedule 29.03.2012
comment
Анимацията за преход на PivotItem не е толкова подходяща и бих искал също така да създам отделен изглед с помощта на панорама, където съдържанието се издига симетрично отляво и отдясно, така че би било страхотно да разберете как да промените оформлението/полетата/размерите по подразбиране.   -  person Hardev    schedule 29.03.2012
comment
Хардев, моля, отбележете отговора по-долу като решение, той е добър.   -  person Robert McLaws    schedule 31.01.2014


Отговори (2)


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}"
person iekwei    schedule 24.05.2013

Можете да опитате да използвате Pivot с null Header и Title и заглавки на елементи вместо Panorama. И ще поддържа и flick.

person Ponf    schedule 29.03.2012
comment
това е, което направих в моето приложение. - person earthling; 29.03.2012
comment
Както казах по-рано, Pivot не прави точно това, което искам (цял екран е добре, симетрично надничане отляво/надясно не е възможно). Бих искал да променя размерите/оформлението на шаблона за панорамно съдържание, но изглежда, че е невъзможно или поне изключително трудно. - person Hardev; 30.03.2012