2014-03-06 30 views
-1

在Windows Phone應用程序中,我嘗試控制ScrollViewer的滾動。在我的需求中,當我的變量值是bla blaa時,我想滾動頁面。他們有什麼辦法來解決這種類型的事情?請告訴我 。ScrollViewer的滾動控件通過在xaml.cs中編碼

<Grid x:Name="ContentPanel2" Grid.Row="2" Margin="12,0,12,0"> 
     <ScrollViewer Margin="-10,0,10,169"> 
      <StackPanel Height="916"> 
       <TextBox x:Name="txtNomeCliente" Height="Auto" TextWrapping="Wrap"  
        Text="" Background="White" BorderBrush="White" IsReadOnly="True"/> 
       <Button x:Name="BotaoCatalogo" Content="Catálogo" 
        Width="Auto" Height="80" VerticalAlignment="Top" Background="#FF3FAACA" BorderBrush="#FF3FAACA" /> 
       <Button x:Name="BotaoItens" Content="Itens" 
        Width="Auto" Height="80" VerticalAlignment="Top" Background="#FF3FAACA" BorderBrush="#FF3FAACA"/> 
       <Grid Background="#FF0F3B48" Margin="12,0,12,0"> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="*"/> 
         <ColumnDefinition Width="*"/> 
        </Grid.ColumnDefinitions> 
        <StackPanel Grid.Column="0" 
         VerticalAlignment="Center" 
         Orientation="Horizontal" 
         Margin="5"> 
         <TextBlock Text="Qtde. de Itens:" 
          FontSize="{StaticResource PhoneFontSizeMedium}"/> 
         <TextBlock x:Name="lblQuantidadeProdutos" Text="0" Margin="10,0,0,0" FontSize="{StaticResource PhoneFontSizeMedium}" Width="43"/> 
        </StackPanel> 
        <StackPanel Grid.Column="1" 
         VerticalAlignment="Center" 
         HorizontalAlignment="Right" 
         Orientation="Horizontal" 
         Margin="2"> 

         <TextBlock x:Name="lblValorTotal" FontSize="{StaticResource PhoneFontSizeMedium}"/> 

        </StackPanel> 
       </Grid> 
       <Button x:Name="BotaoPagamentos" Content="Adicionar Pagamento" 
        Width="Auto" Height="80" VerticalAlignment="Top" Background="#FF3FAACA" BorderBrush="#FF3FAACA"/> 
       <ListBox x:Name="ListaPagamentos" ItemsSource="{Binding ListaPagamentos}"/> 
       <ListBox x:Name="ListaEntrega" ItemsSource="{Binding ListaEntrega}"/> 
       <Grid Background="#FF0F3B48" Margin="12,0,12,0"> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="*"/> 
         <ColumnDefinition Width="*"/> 
        </Grid.ColumnDefinitions> 
        <StackPanel Grid.Column="0" 
         VerticalAlignment="Center" 
         Margin="5"> 
         <TextBlock 
          FontSize="16" FontWeight="Bold"> 
          <Run FontWeight="Normal" Text="Forma de pagamento: A vista"/> 
         </TextBlock> 
         <TextBlock 
          FontSize="16"> 
          <Run Text="Parcela(s):"/> 
          <Run Text=" "/> 
          <Run Text="1"/> 
         </TextBlock> 
         <TextBlock 
          FontSize="16"> 
          <Run Text="Vencimento"/> 
          <Run Text=":"/> 
          <Run Text=" "/> 
          <Run Text="25/05/2013"/> 
         </TextBlock> 
        </StackPanel> 
        <StackPanel Grid.Column="1" 
         VerticalAlignment="Center" 
         HorizontalAlignment="Right" 
         Margin="2"> 
         <TextBlock 
          FontSize="{StaticResource PhoneFontSizeMedium}" Margin="0"> 
          <Run Text=" "/> 
          <Run Text="Valor"/> 
         </TextBlock> 
         <TextBlock Text="R$ 399,00" 
          FontSize="{StaticResource PhoneFontSizeMedium}"/> 
        </StackPanel> 
       </Grid> 

       <Button x:Name="cmdEntrega" Content="Entrega" Width="Auto" Height="80" VerticalAlignment="Top" Background="#FF3FAACA" BorderBrush="#FF3FAACA" /> 

       <Grid Background="#FF0F3B48" Margin="12,0,12,0" Height="50"> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="5*"/> 
         <ColumnDefinition Width="4*"/> 
        </Grid.ColumnDefinitions> 
        <StackPanel Grid.Column="0" 
         VerticalAlignment="Center" 
         Orientation="Horizontal" 
         Margin="5,12,81,0" Height="38" Grid.ColumnSpan="2"> 
         <TextBlock x:Name="lblTransportadora" 
          FontSize="{StaticResource PhoneFontSizeMedium}" Width="149"> 
          <Run FontSize="20" Text="Transportadora"/> 
          <Run FontSize="20" Text=":"/> 
         </TextBlock> 
        </StackPanel> 
       </Grid> 
       <Grid Height="13" Width="437"/> 
       <Grid Background="#FF0F3B48" Margin="12,0,12,0" Height="135"> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="5*"/> 
         <ColumnDefinition Width="4*"/> 
        </Grid.ColumnDefinitions> 
        <StackPanel Grid.Column="0" 
         VerticalAlignment="Center" 
         Orientation="Horizontal" 
         Margin="5,12,81,0" Height="38" Grid.ColumnSpan="2"> 
         <TextBlock x:Name="lblTransportadora1" 
          FontSize="{StaticResource PhoneFontSizeMedium}" Width="58" Margin="0,-2,0,12"> 
          <Run FontSize="20" Text="Rua:"/> 
         </TextBlock> 
        </StackPanel> 
        <TextBlock FontSize="{StaticResource PhoneFontSizeMedium}" Margin="5,11,128,85"> 
         <Run FontSize="20" Text="Descrição:"/> 
        </TextBlock> 
        <TextBlock FontSize="{StaticResource PhoneFontSizeMedium}" Margin="5,96,165,10"> 
         <Run FontSize="20" Text="Cidade:"/> 
        </TextBlock> 
        <TextBlock x:Name="lblDescricao" Grid.ColumnSpan="2" HorizontalAlignment="Left" Height="26" Margin="113,16,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="315"/> 
        <TextBlock x:Name="lblRua" Grid.ColumnSpan="2" HorizontalAlignment="Left" Height="26" Margin="113,57,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="317"/> 
        <TextBlock x:Name="lblCidade" Grid.ColumnSpan="2" HorizontalAlignment="Left" Height="26" Margin="113,99,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="319"/> 
       </Grid> 
       <Grid Height="20" Width="437"/> 
       <TextBlock Text="Informações Adicionais:" Margin="15,10,0,0"/> 
       <TextBox x:Name="TxtInfoAdicional" Height="Auto" TextWrapping="Wrap"  
        Text="{Binding InfoAdicional, Mode=TwoWay}" Background="White" BorderBrush="White"/> 
       <Button x:Name="BotaoFinalizar" Content="Salvar Orçamento" 
        Width="238" Height="80" VerticalAlignment="Top" 
        HorizontalAlignment="Right" BorderBrush="#FF3FAACA" Background="#FF3FAACA"/> 
      </StackPanel> 
     </ScrollViewer> 
    </Grid> 

由於提前

+0

完整的XAML根本沒有幫助,因爲它不清楚你想要什麼。你想自動滾動?或者,如果某些變量設置爲某個值,您希望*防止*滾動? –

+0

自動滾動工作,但我想通過編碼來處理滾動,如:如果我的變量值爲1,然後在0px上滾動頁面,如果我的變量值爲2,則滾動頁面向下滾動10px反之,值爲3然後向下10px更多 – Sandy

+0

想要滾動像該變量設置的像素的10倍像素? –

回答

1

擅自滾動的ScrollViewer,使用ScrollViewer.ScrollToVerticalOffset

// scrolls down 10 pixels 
ScrollViewer.ScrollToVerticalOffset(10); 

編輯: 您還需要你的XAML更改爲:

<ScrollViewer x:Name="ScrollViewer"> 

到使其可以從後面的代碼訪問。

+0

這個可以在xaml.cs或xaml中使用嗎? – Sandy

+0

這顯然是一個C#代碼,只能放在.cs文件中。 –

+0

它給人的錯誤:對象refrence是必需的非靜態字段,方法或屬性「System.windows.controls.scrollViewer.scrolltoverticaloffeset(雙)」 – Sandy