我有一个带文本块的tabcontrol。我没做什么似乎让垂直滚动条工作。我用堆叠面板试了一下;然后只使用文本块内的scrollviewer选项而不是外部。奇怪的是水平滚动条工作正常。这显示了垂直滚动条,但未启用。如果我将两者都设置为自动,则即使文本比控件长,也不会显示垂直滚动。
<TabItem Header="Item Description" FontSize="14" FontWeight="DemiBold">
<DockPanel>
<ScrollViewer VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Auto">
<TextBlock Text="{Binding SelectedItemText}" Padding="5" FontSize="14" TextWrapping="Wrap"
DockPanel.Dock="Top" Height="100" MinHeight="100"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
</ScrollViewer>
</DockPanel>
</TabItem>
Visual Studio 2017,wpf,mvvm
答案 0 :(得分:1)
您可以使用只读ScrollViewer
替换TextBlock
和TextBox
:
<TabItem Header="Item Description" FontSize="14" FontWeight="DemiBold">
<DockPanel>
<TextBox Text="{Binding SelectedItemText, Mode=OneWay}"
TextWrapping="Wrap"
Padding="5" FontSize="14"
IsReadOnly="True"
BorderThickness="0"
Height="100"
MinHeight="100"
AcceptsReturn="True"
SelectionBrush="{x:Null}"
Cursor="Arrow"
ScrollViewer.VerticalScrollBarVisibility="Auto"/>
</DockPanel>
</TabItem>
答案 1 :(得分:0)
您已在ScrollViewer
中启用了水平滚动功能。这意味着TextBlock
中的文本将永远不会换行,因为它的父容器已赋予其无限宽度以水平增长。尝试将HorizontalScrollBarVisibility
设置为Disabled
- 这将强制文本块在水平用完房间时换行。文本增长超出ScrollViewer
的垂直限制后,如果VerticalScrollBarVisibility
设置为Auto
,则垂直滚动条将变为可见;如果VerticalScrollBarVisibility
设置为Visible
,则垂直滚动条将变为启用状态{1}}。