如何自定义滚动查看器内容的可见区域
How to customize the visible area of the scroll viewer's content
ScrollViewer
的默认行为是,内容停在 ScrollViewer
视口的底部:
我想更改行为,以便内容可以滚动到滚动 ScrollViewer
的视口顶部:
a) 是否可以这样配置现有的滚动查看器?
b) 如果不是,实现该行为的最佳方法是什么?
在 Grid
中嵌入 3 行的可滚动内容。可滚动内容占据第二行。另外两个有相同的Height
的ScrollViewer
:
<ScrollViewer Height="50">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="50"/>
</Grid.RowDefinitions>
<YourScrollableContent Grid.Row="1"/>
</Grid>
</ScrollViewer>
我无法测试它以查看此代码是否完美,但我相信这是一种方式:)
也许您可以将 2 行的 Height
与 ScrollViewer
的 Height
绑定:
<RowDefinition Height="{Binding Path=Height,
RelativeSource={RelativeSource AncestorType=ScrollViewer}}"/>
ScrollViewer
的默认行为是,内容停在 ScrollViewer
视口的底部:
我想更改行为,以便内容可以滚动到滚动 ScrollViewer
的视口顶部:
a) 是否可以这样配置现有的滚动查看器?
b) 如果不是,实现该行为的最佳方法是什么?
在 Grid
中嵌入 3 行的可滚动内容。可滚动内容占据第二行。另外两个有相同的Height
的ScrollViewer
:
<ScrollViewer Height="50">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="50"/>
</Grid.RowDefinitions>
<YourScrollableContent Grid.Row="1"/>
</Grid>
</ScrollViewer>
我无法测试它以查看此代码是否完美,但我相信这是一种方式:)
也许您可以将 2 行的 Height
与 ScrollViewer
的 Height
绑定:
<RowDefinition Height="{Binding Path=Height,
RelativeSource={RelativeSource AncestorType=ScrollViewer}}"/>