我正在尝试构建一个Windows Phone 8.1应用程序,有些东西真的困扰我: ![看看] http://i.imgur.com/XO7oOmT.png
正如您所看到的,当文本到达结尾时,TextBox不会创建并转到新行。我该怎么办?我尝试使用谷歌搜索,但无法真正找到它(我确信我使用了错误的关键字,但我对此都是新手。)
无论如何,这里是我正在使用的XAML代码(我在Google上找到了一些我没有找到的东西)
查看" contentTextBox":
<Grid x:Name="LayoutRoot" Background="WhiteSmoke">
<Grid.ChildrenTransitions>
<TransitionCollection>
<EntranceThemeTransition/>
</TransitionCollection>
</Grid.ChildrenTransitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!--TODO: Content should be placed within the following grid-->
<Grid Grid.Row="0" x:Name="TitleRoot" Margin="0,0,0,0">
<TextBox x:Name="titleTextBox" Text="Title"/>
</Grid>
<Grid Grid.Row="1" x:Name="ContentRoot" Margin="0,0,0,0">
<StackPanel Height="Auto">
<TextBox x:Name="contentTextBox" Text="" HorizontalAlignment="Stretch" VerticalAlignment="Top" AcceptsReturn="True" Width="Auto"/>
</StackPanel>
</Grid>
</Grid>
答案 0 :(得分:2)
启用TextWrapping有帮助!
<TextBox x:Name="contentTextBox"
TextWrapping="Wrap"
Text=""
HorizontalAlignment="Stretch"
VerticalAlignment="Top"
AcceptsReturn="True"
Width="Auto" />
这意味着 - 当你离开水平空间时,换行到另一行。
答案 1 :(得分:1)
您需要打开TextWrapping,还需要将其从StackPanel中删除或给它一个固定的大小。
StackPanel将允许TextBox水平地无限增长,因为你有Width="Auto"
和HorizontalAlignment="Stretch"
,TextBox无法知道它何时应该停止拉伸,并且会随着你的文本而增长。
删除StackPanel,并保持HorizontalAlignment="Stretch"
(可以删除宽度,因为默认为自动),TextBox将占用屏幕宽度的100%,并且在您键入时不会调整大小
答案 2 :(得分:0)
尝试设置
<TextBox ScrollViewer.HorizontalScrollMode="Disabled" TextWrapping="Wrap"/>
<Grid Grid.Row="1" x:Name="ContentRoot" Margin="0,0,0,0">
<StackPanel Height="Auto">
<TextBox x:Name="contentTextBox" Text="Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt." HorizontalAlignment="Stretch" ScrollViewer.HorizontalScrollMode="Disabled" VerticalAlignment="Top" AcceptsReturn="True" TextWrapping="Wrap" Width="Auto"/>
</StackPanel>
</Grid>
<强> ScrollViewer.HorizontalScrollMode =&#34;禁用强>&#34; :这意味着ScrollViewer没有给出&#34; Auto&#34;宽度到文本框,即使文本框超出其有界/可见宽度
TextWrapping =&#34;换行&#34; :如果文字不适合它的宽度,它就会到达下一行。