我有一个设计,其中一个ScrollViewer嵌入到另一个ScrollViewer中。 我遇到的问题是,子ScrollViewer没有填充其父级,但始终使父级ScrollViewer滚动。 我需要向子ScrollViewer提供它父级所拥有的空间,然后让子项滚动,如果它的内容太大而不适合。
我知道有一个类似的问题,但它对我没有帮助: Use ScrollViewer inside another Scrollviewer
以下是显示问题的代码:
<Window
x:Class="ScrollviewerIssue.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Title="MainWindow"
Width="200"
Height="200"
mc:Ignorable="d">
<ScrollViewer>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="*" />
<RowDefinition Height="30" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="30" />
</Grid.ColumnDefinitions>
<ScrollViewer Grid.Row="1" Grid.Column="1">
<TextBox TextWrapping="Wrap">
Long text Long text Long text Long text Long text Long text Long text Long text Long text Long text Long text
</TextBox>
</ScrollViewer>
</Grid>
</ScrollViewer>
</Window>
答案 0 :(得分:0)
ScrollView是一个布局容器。布局(例如,LinearLayout)是视图容器。如何滚动,滚动行为由放在ScrollView中的布局定义。
ScrollView是一种界面,它根据布局内部进行滚动。
因此,要设置嵌套的ScrollView,您可以执行以下操作:
ScrolleView
LinearLayout
ScrollView
RelativeLayout
TextView