我用scrolllerviewer包装文本框。问题是当有足够的文本水平滚动时,我们使用左/右箭头移动文本,光标移动到显示区域之外,但它不会自动滚动内容。
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<ScrollViewer Grid.Row="0" Grid.Column="0" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<TextBox x:Name="Text1" AcceptsReturn="True" MinWidth="150" MinHeight="150"/>
</ScrollViewer>
</Grid>
这里有专家吗?
答案 0 :(得分:0)
请勿使用ScrollViewer
包装TextBox。 TextBox已经滚动支持。
使用TextBox执行以下操作:
<TextBox x:Name="Text1" Grid.Row="1" AcceptsReturn="True" MinWidth="150" MinHeight="150" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Auto" />
这是一个显示差异的例子:
<Grid Width="100" Height="300">
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<ScrollViewer Grid.Row="0" Grid.Column="0" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" Margin="0,20,0,0">
<TextBox x:Name="Text2" AcceptsReturn="True" MinWidth="150" MinHeight="150"/>
</ScrollViewer>
<TextBox x:Name="Text1" Grid.Row="1" AcceptsReturn="True" MinWidth="150" MinHeight="150" HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Auto" />
</Grid>
希望这有帮助!