2012-02-18 9 views
10

Estoy comenzando a desarrollar WinPhone y no puedo encontrar la manera de configurar el desplazamiento vertical. Por ejemplo, yo he comenzado una nueva aplicación de pivote, y este código permite al usuario desplazarse hacia arriba y D cuenta para ver todas las entradas:Windows Phone Cómo desplazar verticalmente

<controls:PivotItem Header="Login"> 
    <!--Double line list with text wrapping--> 
    <ListBox x:Name="FirstListBox" Margin="0,0,-12,0" ItemsSource="{Binding Items}"> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <StackPanel Margin="0,0,0,17" Width="432" Height="78"> 
        <TextBlock Text="{Binding LineOne}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/> 
        <TextBlock Text="{Binding LineTwo}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/> 
       </StackPanel> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 
</controls:PivotItem> 

Ahora, cuando, agrego mi propio elemento de pivote, con un StackPanel con más elementos que se pueden ver en la pantalla en cualquier momento, no me permitirá desplazarme para verlos todos. ¿Que me estoy perdiendo aqui?

Gracias.

Respuesta

23

Agregue ScrollViewer sobre StackPanel y lo hará desplazable.

6

ListBox en el código de ejemplo que ha suministrado ha incorporado la funcionalidad de desplazamiento. Sin embargo, si no está utilizando algo que ya tiene esta funcionalidad de desplazamiento, deberá agregar un ScrollViewer.

<controls:PivotItem Header="Example"> 
    <ScrollViewer Margin="12,0,12,0"> 
     <StackPanel> 
      <TextBlock Text="Example1" FontSize="150" /> 
      <TextBlock Text="Example2" FontSize="150" /> 
     </StackPanel> 
    </ScrollViewer> 
</controls:PivotItem> 
1

En un control de giro, si el contenido está desbordando la página vertical, entonces debe haber por defecto "vertical" desplazándose a su disposición.

Tenía un control similar con el cuadro de lista limitado a la propiedad. Tener "lista" debería permitirle desplazarse automáticamente.

No agregue un scrollviewer sobre el panel de pila, ya que habilitaría el desplazamiento para cada elemento de la lista que no desee.

<controls:PivotItem Header="all authors" Foreground="#FF0C388A"> 
      <Grid> 
       <ListBox Margin="0,0,-12,0" ItemsSource="{Binding AllAuthorsList}" Foreground="#FF0C388A"> 
        <ListBox.ItemTemplate> 
         <DataTemplate> 
           <StackPanel Margin="0,0,0,17" Width="432" Height="Auto"> 
            <TextBlock Tap="TextBlockAuthor_Tap" Text="{Binding}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}" Foreground="#FF0C388A"/> 
           </StackPanel> 
         </DataTemplate> 
        </ListBox.ItemTemplate> 
       </ListBox> 
      </Grid> 
     </controls:PivotItem>