1

我需要模拟器中的滚动查看器的帮助。在 xaml 中一切正常,但在模拟器中我有......嗯错误?或者这是我的错。当我想向下滚动时,它会下降......所有屏幕的 1/3......当我释放它时它会自动上升到上一个位置(起始位置)我不知道这是我的坏还是模拟器漏洞...

<phone:PhoneApplicationPage 
    x:Class="Excercises.Weider_s_six"
    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"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Portrait" Orientation="Portrait"
    mc:Ignorable="d" shell:SystemTray.IsVisible="True" d:DesignHeight="768" d:DesignWidth="480">

    <!--LayoutRoot is the root grid where all page content is placed-->
    <Grid x:Name="LayoutRoot" Background="#FF1FB0DB">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>



        <!--ContentPanel - place additional content here-->

        <ScrollViewer>
            <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0" Height="1500">

                <TextBlock HorizontalAlignment="Left" Margin="1,15,0,85" Width="Auto" Height="Auto" Name="TextBlock1" TextWrapping="Wrap"> 
                <LineBreak />
            <Run FontFamily="Segoe WP" FontSize="27" FontWeight="ExtraBlack" TextDecorations="Underline">
               Weider 6 pack Training is a perfect exercise for flat stomach. 
                </Run>
                <LineBreak />
            <Run Text="This easy training programme has many advantages." FontSize="27" />
            <LineBreak />
            <Run Text="1. It's perfect for beginners and for experts" FontWeight="ExtraBlack" TextDecorations="Underline" FontSize="27" />
            <Run Text=" – exercises are easy and begin with the basic level, so every beginner can use them but they get more complicated pretty fast so advanced sportsmen can also be interested in them." FontSize="27" />
            <LineBreak />
            <Run Text="2.It helps not only carve your muscles but also burn fat" FontWeight="ExtraBlack" TextDecorations="Underline" FontSize="27" />
            <Run Text=" – during the exercise you not only use your abdominal rectus but you also move your legs and arms. It is also because W6 puts pressure on the number of repetitions. It carves your muscles but also burns fat. You can train W6 for about 40 minutes without taking any breaks – you use up all glycogen in blood and start burning the fat." FontSize="27" />
            <LineBreak />
            <Run Text="3.It is easy " FontStyle="Normal" FontWeight="ExtraBlack" TextDecorations="Underline" FontSize="27" />
            <Run Text="– it is a really easy training set which you can train almost anywhere. All you need is flat ground." FontSize="27" />
            <LineBreak />
            <Run Text="4.It gives excellent results" FontStyle="Normal" FontWeight="ExtraBlack" TextDecorations="Underline" FontSize="27" />
            <Run Text=" – if you want to have a flat stomach W6 is designed just for you. You can see the first effects after just a week and after a whole series it is really impressive." FontSize="27" />"
            <LineBreak />
                </TextBlock>



            </Grid>
        </ScrollViewer>

    </Grid>


    <!--Sample code showing usage of ApplicationBar-->
    <!--<phone:PhoneApplicationPage.ApplicationBar>
        <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/>
            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/>
            <shell:ApplicationBar.MenuItems>
                <shell:ApplicationBarMenuItem Text="MenuItem 1"/>
                <shell:ApplicationBarMenuItem Text="MenuItem 2"/>
            </shell:ApplicationBar.MenuItems>
        </shell:ApplicationBar>
    </phone:PhoneApplicationPage.ApplicationBar>-->

</phone:PhoneApplicationPage>
4

2 回答 2

1

您需要在此处进行一些更改才能使其正常工作。首先,您的 ScrollViewer 确实应该在网格内。其次,摆脱网格上的高度。它最终看起来像这样:

<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name="LayoutRoot" Background="#FF1FB0DB">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>



    <!--ContentPanel - place additional content here-->

  <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0" >
    <ScrollViewer>

      <TextBlock HorizontalAlignment="Left" Margin="1,15,0,85" Width="Auto" Height="Auto" Name="TextBlock1"
                 TextWrapping="Wrap">
        <LineBreak />
        <Run FontFamily="Segoe WP" FontSize="27" FontWeight="ExtraBlack" TextDecorations="Underline">
          Weider 6 pack Training is a perfect exercise for flat stomach.
        </Run>
        <LineBreak />
        <Run Text="This easy training programme has many advantages." FontSize="27" />
        <LineBreak />
        <Run Text="1. It's perfect for beginners and for experts" FontWeight="ExtraBlack"
             TextDecorations="Underline" FontSize="27" />
        <Run
            Text=" – exercises are easy and begin with the basic level, so every beginner can use them but they get more complicated pretty fast so advanced sportsmen can also be interested in them." FontSize="27" />
        <LineBreak />
        <Run Text="2.It helps not only carve your muscles but also burn fat" FontWeight="ExtraBlack"
             TextDecorations="Underline" FontSize="27" />
        <Run Text=" – during the exercise you not only use your abdominal rectus but you also move your legs and arms. It is also because W6 puts pressure on the number of repetitions. It carves your muscles but also burns fat. You can train W6 for about 40 minutes without taking any breaks – you use up all glycogen in blood and start burning the fat." FontSize="27" />
        <LineBreak />
        <Run Text="3.It is easy " FontStyle="Normal" FontWeight="ExtraBlack" TextDecorations="Underline"
             FontSize="27" />
        <Run Text="– it is a really easy training set which you can train almost anywhere. All you need is flat ground." FontSize="27" />
        <LineBreak />
        <Run Text="4.It gives excellent results" FontStyle="Normal" FontWeight="ExtraBlack"
             TextDecorations="Underline" FontSize="27" />
        <Run Text=" – if you want to have a flat stomach W6 is designed just for you. You can see the first effects after just a week and after a whole series it is really impressive." FontSize="27" />
        "
        <LineBreak />
      </TextBlock>


    </ScrollViewer>
  </Grid>

</Grid>
于 2012-05-01T01:33:53.007 回答
1

造成这个问题的原因是 ScrollViewer 在需要滚动之前不知道它可以占用多少空间,因此占用了无限空间,因此不需要滚动它的内容。您看到的反弹是当您尝试移动到滚动查看器容器的末端之外时发生的情况。

您可以通过从 LayoutRoot 中删除 RowDefinitions 来解决这个问题,因为它是网格中的唯一项目。

目前它在一行中,可以根据需要增长(这就是将行高设置为“自动”的意思)。这与网格空间无关。您需要限制 ScrollViewer 可以占用的空间量,以便它知道它需要滚动其内容。

于 2012-05-01T00:14:21.647 回答