2012-03-29 9 views
3

Ich versuche, die Inhaltsgröße von PanoramaItem so zu ändern, dass keine Ränder vorhanden sind und die gesamte Bildschirmbreite/-höhe gestreckt wird. Bisher hatte ich kein Glück, eine Kopie der Vorlage zu modifizieren. Negative Ränder können sich um die linke/obere Seite kümmern, aber der nächste Panorama-Gegenstand wird immer von der rechten Kante aus gesehen. Und selbst wenn es mir gelingt, einen Panorama-Gegenstand zu strecken, überschneidet sich der nächste auf der rechten Seite des Bildschirms.So ändern Sie den WP-Panorama-Eintrag als Vollbild

Alle Ideen, wie man das Panorama so ändert, dass das gesamte Panorama den gesamten Bildschirm (800x480) und die folgenden Panorama-Elemente aufnimmt, sind immer 480px von der linken Seite des vorherigen Panoramas, so dass Sie keinen Teil des nächsten sehen können Artikel.

Warum möchte ich das Panorama ändern? Weil das Steuerelement über integrierte Funktionen verfügt, die alles tun, was ich möchte (ich erstelle einen Vollbild-Viewer mit Unterstützung für die Flick-Geste). Ich würde die panoramaitem die will einfach voller Umfang nutzen sein und dann Bilder im Innern die gesamte Größe des Behälters unter (Vollbild)

Panorama Architektur http://msdn.microsoft.com/en-us/library/ff941126%28v=vs.92%29.aspx

+0

mit PivotItem statt panormaitem scheint eine bessere Option zu sein. – TutuGeorge

+0

PivotItem Übergang Animation ist nicht so geeignet, und ich würde auch gerne eine separate Ansicht mit einem Panorama erstellen, wo Inhalte von links und rechts symmetrisch, so herauszufinden, wie das Standardlayout/Ränder/Größen zu ändern wäre groß. – Hardev

+0

Hardev bitte markieren Sie die Antwort unten als die Lösung, es ist eine gute. – AdvancedREI

Antwort

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}" 
2

Sie können versuchen, Pivot zu verwenden, um mit null Kopf- und Titel und Elementheader anstelle von Panorama. Und es wird auch Flick unterstützen.

+0

das habe ich in meiner App gemacht. – earthling

+0

Wie gesagt, Pivot macht nicht ganz das, was ich will (Vollbild ist in Ordnung, symmetrisches Spähen von links/rechts nicht machbar). Ich möchte die Größe und das Layout des Panoramabilds ändern, aber es scheint unmöglich oder zumindest extrem schwierig zu sein. – Hardev

Verwandte Themen