2013-03-22 68 views
2

我在Windows Phone應用程序中有一個頁面。這個頁面相當「高」。出於這個原因,整個頁面被包裝在一個ScrollViewer。朝向頁面的底部是TextBox。此TextBox旨在成爲多行TextBoxTextWrapping="Wrap"。我需要用戶能夠在TextBox內上下滾動以查看他們輸入的內容。但是,我無法在TextBox本身內滾動。相反,當我嘗試滾動時,整個頁面會滾動。我該如何補救?然而,我嘗試加入ScrollViewer.VerticalScrollBarVisibility="Auto",但這似乎並不奏效。這是我的XAML的exerpt。TextBox在Windows Phone應用程序中滾動不起作用

<Grid x:Name="LayoutRoot" Background="{StaticResource PhoneBackgroundBrush}"> 
    <Grid.RowDefinitions> 
    <RowDefinition Height="Auto"/> 
    <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 

    <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"> 
    <TextBlock x:Name="ApplicationTitle" Text="APPNAME" Style="{StaticResource PhoneTextNormalStyle}" /> 
    <TextBlock x:Name="PageTitle" Text="{Binding Path=PageTitle}" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/> 
    </StackPanel> 

    <ScrollViewer Grid.Row="1"> 
    <Grid x:Name="ContentPanel" Margin="12,0,12,0"> 
     ... 
     <TextBox x:Name="bodyTextBox" Text="{Binding Path=Body, Mode=TwoWay}" Height="145" TextWrapping="Wrap" InputScope="Text" Grid.Row="6" MaxLength="1024" Margin="0,-8,0,0" /> 
    </Grid> 
    </ScrollViewer> 
</Grid> 

謝謝您提供的任何見解。

+0

你可以發佈一些XAML示例代碼嗎? – 2013-03-22 17:14:40

+0

只是添加了一些xaml – 2013-03-22 17:32:56

回答

2

根據我的經驗,這通常是由於在某處不正確地使用「auto」高度標籤或「starSizing」高度標籤引起的。我會嘗試設置固定高度的相關元素(尤其是你的RowDefinition),看到有幫助

0

要有一個滾動多行文本框,你不需要使用scrollviewer,你只需啓用acceptreturn,textwrapping =「wrap」 ,maxheight =「160」(查看多行)以及VerticalScrollBarVisibility =「可見」。

要查看文本框中的滾動,請單擊並按住按鈕,然後出現插入符號,現在將其上下移動,然後滾動文本框。

相關問題