我在Windows Phone应用中有一个页面。这个页面相当“高”。因此,整个页面都包含在ScrollViewer
中。在页面底部是TextBox
。此TextBox旨在成为包含TextBox
的多行TextWrapping="Wrap"
。我需要用户能够在TextBox
内向上和向下滚动以查看他们输入的内容。但是,我无法在TextBox
内滚动。相反,当我尝试滚动时,整个页面会滚动。我该如何解决这个问题?我尝试添加ScrollViewer.VerticalScrollBarVisibility="Auto"
但是,这似乎也没有用。这是我的XAML的一部分。
<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 :(得分:2)
根据我的经验,这通常是由于在某处错误地使用“自动”高度标记或“starSizing”高度标记引起的。我会尝试为相关元素(特别是你的RowDefinition)设置固定的高度,看看有帮助
答案 1 :(得分:0)
要拥有一个滚动的多行文本框,您不需要使用scrollviewer,只需启用accepreturn,textwrapping =“wrap”,maxheight =“160”(查看多行)以及VerticalScrollBarVisibility =“Visible ”
要查看文本框中的滚动,您单击并按住按钮然后会出现一个插入符号,现在可以上下移动它,它将滚动文本框。