ScrollViewer';通过在xaml.cs中编码来实现滚动控制

ScrollViewer';通过在xaml.cs中编码来实现滚动控制,xaml,windows-phone-8,windows-phone,Xaml,Windows Phone 8,Windows Phone,在windows phone应用程序中,我尝试控制ScrollViewer的滚动。在我的要求中,我希望在我的变量值为bla blaa时滚动页面。他们有办法解决这类问题吗?请让我知道 <Grid x:Name="ContentPanel2" Grid.Row="2" Margin="12,0,12,0"> <ScrollViewer Margin="-10,0,10,169"> <StackPanel Height="916

在windows phone应用程序中,我尝试控制ScrollViewer的滚动。在我的要求中,我希望在我的变量值为bla blaa时滚动页面。他们有办法解决这类问题吗?请让我知道

  <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>


提前感谢

要任意滚动scrollviewer,请使用scrollviewer.ScrollToVerticalOffset:

// scrolls down 10 pixels
ScrollViewer.ScrollToVerticalOffset(10);
编辑: 您还需要将XAML更改为:

<ScrollViewer x:Name="ScrollViewer">


使它可以从后面的代码中访问。

完整的XAML没有任何帮助,因为它不清楚您想要什么。是否要自动滚动?或者,如果某个变量设置为某个值,您想阻止滚动?自动滚动工作,但我想处理滚动编码,如:如果我的变量值为1,则在0px上滚动页面,如果我的变量值为2,则在10px上滚动页面,反之亦然,则在值3上滚动页面,然后再向下滚动10px。因此,您希望滚动10倍这个变量设置了多少像素?或者你想滚动到某个特定的控件?想用xaml.cs中的一些代码来控制滚动这可以在xaml.cs或xaml中使用?这显然是一个C代码,只能放在.cs文件中。它给出了错误:非静态字段需要对象引用,方法或属性'System.windows.controls.scrollViewer.ScrollToVerticalOffset(double)'好吧,您忘记了命名您的scroll viewer控件,以便从后面的代码中访问。请您详细说明如何将其用于给定的代码。