4

我想在 Windows 8 应用程序的文本框中添加滚动查看器。这样用户就可以滚动浏览他的长文本

4

2 回答 2

3

将滚动查看器添加到 XAML。然后通过剪切和粘贴文本框的边距来设置滚动查看器的边距,并将文本框的高度和宽度设置为auto.

于 2012-12-03T17:48:46.297 回答
0

我只是重写了 Harshit 解释的内容并添加了一些图片和代码。

  1. 将滚动查看器添加到 XAML
  2. 在 Scrollviewer 中选择 Margin(最佳方法:单击 XAML 中的 TestViewer-Code 以选择它)
  3. 将边距值设置为自动
  4. 粘贴(在 XAML 中)文本框并将其粘贴到 Scrollviewer-Tag
  5. 将文本框的高度和宽度设置为自动
  6. 完毕!

XAML:

<Page
x:Class="testapp.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:newcalapp_winrt"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" Margin="0,4,0,-4">
    <Button Click="showText" Content="ShowText" x:Name="btn" Width="200" Height="56" Margin="1037,620,0,92"></Button>

    <ScrollViewer x:Name="outputTextBoxScrollViewer" Margin="57,200,700,400">
        <TextBox x:Name="outputTextBox" AcceptsReturn="True"/>
    </ScrollViewer>
    <ScrollViewer x:Name="outputTextBlockScrollViewer" Margin="57,450,700,169">
        <TextBlock x:Name="outputTextBlock"/>
    </ScrollViewer>
</Grid>
</Page>

C#:

namespace testapp
{
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
        }
        void showText(object sender, RoutedEventArgs args)
        {
            //OutputString
            String outputString;

            //Random number
            Random randomizer = new Random();
            int randomNumber = randomizer.Next(0,100000);

            //Some magic with Dates :) Not important!
            ...

            outputTextBox.Text = outputString;
            outputTextBlock.Text = outputString;
        }
    }
}

ScrollViewer 示例

http://i.stack.imgur.com/2qDyJ.png">

于 2014-12-16T01:25:25.350 回答