Ram*_*uri 1 c# wpf xaml textbox
我有一个网格,其中有一个 ScrollViewer 内的文本框:
<Grid DockPanel.Dock="Top">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<ScrollViewer>
<StackPanel Height="271" Width="258">
<Label FontSize="15" Margin="10"> Suggestions </Label>
<Expander x:Name="expander" Margin="10" />
</StackPanel>
</ScrollViewer>
<GridSplitter Grid.Column="0" Width="5" />
<ScrollViewer Grid.Column="1">
<TextBox x:Name="textBox" AcceptsReturn="True"
AcceptsTab="True" FontSize="15"
VerticalScrollBarVisibility="Visible"
HorizontalScrollBarVisibility="Visible"
TextWrapping="WrapWithOverflow" Language="en-US"
SpellCheck.IsEnabled="True"/>
</ScrollViewer>
</Grid>
Run Code Online (Sandbox Code Playgroud)
即使我将 HorizontalScrollBarVisibility 设置为 Visible,水平滚动条也不可见,并且当我键入一些超出 TextBox 宽度的文本时,我无法滚动:

似乎这是正常行为:当 TextWrapping 为 WrapWithOverflow 时,水平滚动条不可见。
基于此,显示 TextBox 水平滚动条的唯一可能方法是将 TextWrapping 设置为 NoWrap。
您希望使用外部 ScrollViewer 实现的目标(我认为)的解决方法可能是:
<ScrollViewer Grid.Column="1" HorizontalScrollBarVisibility="Visible">
<TextBox x:Name="textBox" AcceptsReturn="True"
AcceptsTab="True" FontSize="15"
VerticalScrollBarVisibility="Hidden"
HorizontalScrollBarVisibility="Hidden"
TextWrapping="WrapWithOverflow" Language="en-US"
SpellCheck.IsEnabled="True"/>
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4755 次 |
| 最近记录: |