滚动查看器和滚动方向(垂直vs水平)
本文关键字:滚动 垂直 vs 水平 方向 | 更新日期: 2023-09-27 17:50:38
我想要一个具有垂直滚动的文本块。我有以下XAML
<ScrollViewer HorizontalAlignment="Left" Height="90" Margin="10,416,0,0" VerticalAlignment="Top" Width="463" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" CanContentScroll="True" >
<TextBlock Name="txtConfigPath" Text="" >
</TextBlock>
</ScrollViewer>
这会产生一个只能水平滚动的文本块。我已经尝试了我能想到的所有方法,但这个控件只想水平滚动
这里有几个选项。你可以在TextBlock
和Disable
上设置TextWrapping=Wrap
,在ScrollViewer
上设置HorizontalScrolling,或者你可以在TextBlock上设置TextWrapping
,并为TextBlock
设置固定的宽度,或者你可以将MaxWidth
绑定到ScrollViewer
的ActualWidth
,如TextBlock MaxWidth="{Binding RelativeSource={RelativeSource AncestorType=ScrollViewer}, Path=ActualWidth}"
希望这有帮助,干杯!
添加一个行定义为*的网格,以容纳ScrollViewer和Auto用于其他行(如Header和footer)。为ScrollViewer添加以下代码:
<UserControl ...>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock><Run Text="Some text"/></TextBlock>
<ScrollViewer
Grid.Row="1"
CanContentScroll="True"
VerticalScrollBarVisibility="Auto"
HorizontalScrollBarVisibility="Disabled"
MinWidth="{Binding ActualWidth,
BindsDirectlyToSource=True,
ElementName=userControl, Mode=OneWay}">