如何查看屏幕的其余部分并添加更多文本

时间:2012-04-15 18:01:35

标签: windows-phone-7 xaml scrollviewer

告诉我如何在我的xaml中看到屏幕的其余部分?我添加了高度为2000像素的文本块,我怎么看其余的?而且,当我在内容部分添加scrollviewer并且我的文本块自动转到左上角时,会发生什么?而且,在我的xaml中,我看到文本居中的位置,它看起来没问题,但在模拟器文本中是单行的。如何修复?

<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" d:DesignHeight="768" d:DesignWidth="480"
    shell:SystemTray.IsVisible="True">

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

        <!--TitlePanel contains the name of the application and page title-->
        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
            <TextBlock x:Name="PageTitle" Text="Weider's six" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}" FontSize="64" />
        </StackPanel>

        <!--ContentPanel - place additional content here-->
        <ScrollViewer>
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
                <TextBlock Height="2000" HorizontalAlignment="Left" Margin="0,6,0,0" Name="TextBlock1" Text="Weider 6 pack Training is a perfect exercise for flat stomach.
    This easy training programme has many advantages.
    It's perfect for beginners and for experts – 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.
    It helps not only carve your muscles but also burn fat – 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.
    It is easy – it is a really easy training set which you can train almost anywhere. All you need is flat ground.
    It gives excellent results – 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.
    How to do Weider 6

    Starting Position

    Lay flat on the ground, hands along the body.
    1 – exercise 1

    Lift your right leg and bend your knee to right angle angle
    Lift your upper torso to contract abdominal muscles and hold the lifted knee with your hands.
    Hold still for 3 seconds.
    Return to the starting position.
    Repeat the exercise with the other leg
    2 – exercise 2

    Lift both legs and bend your knees to right angle
    Lift your upper torso to contract abdominal muscles and hold both knees
    Hold still for 3 seconds

    Return to the starting position" VerticalAlignment="Top" Width="450" />
        </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>

2 个答案:

答案 0 :(得分:3)

确保将ScrollViewer 放在的ContentPanel网格中,而不是放在它周围。

编辑:这是您需要更改代码的地方

   <!--ContentPanel - place additional content here-->
    <ScrollViewer>
    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">

您的代码应为:

   <!--ContentPanel - place additional content here-->
    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
    <ScrollViewer>

下面的示例显示了它应该如何运作

你可能在错误的网格中有你的滚动查看器吗?我刚试过这个,它给了我一个滚动的文本块。

要确保一些事情。

  • 您的ScrollViewer应该位于通常名为“ContentPanel”的网格中。
  • 您需要指定它应如何处理溢出文本。这是通过TextWrapping属性完成的。
<phone:PhoneApplicationPage 
    x:Class="StackoWPF.MainPage"
    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="768"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Portrait" Orientation="Portrait"
    shell:SystemTray.IsVisible="True">

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

        <!--TitlePanel contains the name of the application and page title-->
        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
            <TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
            <TextBlock x:Name="PageTitle" Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
        </StackPanel>

        <!--ContentPanel - place additional content here-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <ScrollViewer>
                <TextBlock Height="2000" TextWrapping="Wrap">
                    <TextBlock.Text>
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                        One two three four five six seven eight nine ten eleven 
                    </TextBlock.Text>
                </TextBlock>
            </ScrollViewer>
        </Grid>
    </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>

答案 1 :(得分:0)

Robaticus已经回答了大部分内容。 但是,如果您想在文本块(您似乎需要)中使用换行符和格式,请参阅this

您已发布了我已回答的类似问题。