2011-09-23 14 views
11

No puedo desplazarme por la página en wp7. A pesar de que he agregado scrollview, todavía no funciona.Problema con Windows Phone 7 scrollviewer

<phone:PhoneApplicationPage 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" 
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" 
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="860" 
x:Class="sastadeal.PhonePage1" 
FontFamily="{StaticResource PhoneFontFamilyNormal}" 
FontSize="{StaticResource PhoneFontSizeNormal}" 
Foreground="{StaticResource PhoneForegroundBrush}" 
Orientation="Portrait" 
shell:SystemTray.IsVisible="True" Height="1768"> 

<!--LayoutRoot is the root grid where all page content is placed--> 
<Grid x:Name="LayoutRoot" Background="Transparent" Height="1768"> 
    <ScrollViewer> 

     <!--TitlePanel contains the name of the application and page title--> 
<!--TitlePanel contains the name of the application and page title--> 

    <Grid x:Name="ContentPanel" Margin="24,8,0,-8" Background="#FF61B1DE" Height="1768" > 

     <Image Height="76" Margin="8,8,0,0" Source="logo.png" Stretch="Fill" VerticalAlignment="Top"/> 

     <TextBlock HorizontalAlignment="Left" Margin="35,124,0,0" TextWrapping="Wrap" Text="Account Purpose" VerticalAlignment="Top" Foreground="Black"/> 
     <ListBox x:Name="lb" Height="70" Margin="36,161,185,0" VerticalAlignment="Top" FontSize="24" Background="#FF00BEEF"> 
      <ListBoxItem x:Name="lb_vendor" Content="Launch &amp; Grab Deals"/> 
      <ListBoxItem x:Name="lb_customer" Content="Grab Deals"/> 
     </ListBox> 
     <TextBlock HorizontalAlignment="Left" Margin="32,252,0,0" TextWrapping="Wrap" Text="Enter You Vendor Code" Foreground="Black" VerticalAlignment="Top" Name="Vendorcode_tb"/> 
     <TextBox x:Name="vendorcode_text" HorizontalAlignment="Left" Margin="21,283,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="334" /> 
     <TextBlock HorizontalAlignment="Left" Margin="35,363,0,0" TextWrapping="Wrap" Text="e-Mail ID-" Foreground="Black" VerticalAlignment="Top"/> 
     <TextBox HorizontalAlignment="Left" Margin="21,390,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="334"/> 
     <TextBlock HorizontalAlignment="Left" Margin="32,466,0,0" TextWrapping="Wrap" Text="Enter Password - " Foreground="Black" VerticalAlignment="Top"/> 
     <TextBox x:Name="pwd" HorizontalAlignment="Left" Margin="21,497,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="335"/> 
     <TextBox x:Name="pwdr" HorizontalAlignment="Left" Margin="21,596,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="335"/> 
     <TextBlock HorizontalAlignment="Left" Margin="32,569,0,0" TextWrapping="Wrap" Text="Re-enter password" Foreground="Black" VerticalAlignment="Top"/> 
     <TextBlock HorizontalAlignment="Left" Margin="35,669,0,0" TextWrapping="Wrap" Text="Contact Number -" VerticalAlignment="Top" Foreground="Black"/> 
     <TextBox x:Name="Cno_txt" HorizontalAlignment="Left" Margin="21,700,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="335" InputScope="Number"/> 
     <TextBlock HorizontalAlignment="Left" Margin="36,776,0,0" TextWrapping="Wrap" Text="Mobile Number- " Foreground="Black" VerticalAlignment="Top"/> 
     <TextBox x:Name="mno_text" HorizontalAlignment="Left" Margin="21,807,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="335"/> 
     <TextBlock HorizontalAlignment="Left" Margin="30,898,0,0" TextWrapping="Wrap" Text="Address 1" Foreground="Black" VerticalAlignment="Top"/> 
     <TextBox HorizontalAlignment="Left" Margin="36,950,0,0" TextWrapping="Wrap" Text="" x:Name="add1_text" Width="335" InputScope="PostalAddress" Height="72" VerticalAlignment="Top"/> 
     <TextBlock HorizontalAlignment="Left" Margin="36,1026,0,0" TextWrapping="Wrap" Text="Address 2" Foreground="Black" VerticalAlignment="Top"/> 
     <TextBox HorizontalAlignment="Left" Margin="36,1057,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="335"/> 

    </Grid> 
    </ScrollViewer> 
</Grid> 

La pantalla vuelve automáticamente a su posición anterior y el desplazamiento no es completa. Sólo se mueve hacia abajo y de vuelta otra vez como un elástico

+0

+1 para el suministro de Xaml, así como la descripción del problema. –

+0

El uso de la propiedad Margen para el diseño no es muy flexible, requiere mucho trabajo para hacerlo bien y hace que sea muy difícil hacer cambios. Debe considerar los otros paneles de diseño como StackPanel para el diseño. –

+0

incluso estoy pensando en usar stackpanel para la próxima página en la aplicación para mostrar mosaicos como botones

Respuesta

10

Su Grid, que es el único hijo de la ScrollViewer, tiene una altura fija de 1768. Eso determina el área máxima que se puede desplazar hacia arriba/abajo por la ScrollViewer.

Su ScrollViewer se estira para ajustarse a su elemento primario de forma predeterminada. Ese padre es otro Grid que también tiene una altura fija de 1768.

Por lo tanto, el ScrollViewer también tiene una altura fija de 1768, por lo que no hay nada que desplazarse. La cantidad disponible para desplazarse es la diferencia entre la altura ScrollViewer y la altura del contenido. En este caso, la diferencia es 0.

Elimina la altura fija de la rejilla exterior. Dudo que su Windows Phone tenga una pantalla alta 1768 :)

+0

Gracias ... soy un tonto sin embargo: p –

+1

Como su nombre de usuario es "learner ..." tenemos que dejar largo :) –