1

告诉我如何在我的 xaml 中看到屏幕的其余部分?我添加了高度为 2000 像素的文本块,如何查看其余部分?而且,发生了什么,当我在内容部分添加滚动查看器并且我的文本块自动转到左上角时?而且,在我的 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>
4

2 回答 2

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>
于 2012-04-15T18:15:55.587 回答
0

Robaticus 已经回答了大部分问题。但是,如果你想在你的文本块中换行和格式化(你似乎需要),请参考这个

你发布了一个类似的问题,我已经回答了。

于 2012-04-19T06:35:48.270 回答