如何自定义滚动查看器内容的可见区域

How to customize the visible area of the scroll viewer's content

ScrollViewer 的默认行为是,内容停在 ScrollViewer 视口的底部:

我想更改行为,以便内容可以滚动到滚动 ScrollViewer 的视口顶部:

a) 是否可以这样配置现有的滚动查看器?

b) 如果不是,实现该行为的最佳方法是什么?

Grid 中嵌入 3 行的可滚动内容。可滚动内容占据第二行。另外两个有相同的HeightScrollViewer:

<ScrollViewer Height="50">
  <Grid>
    <Grid.RowDefinitions>
      <RowDefinition Height="50"/>
      <RowDefinition Height="Auto"/>
      <RowDefinition Height="50"/>
    </Grid.RowDefinitions>

    <YourScrollableContent Grid.Row="1"/>
  </Grid>
</ScrollViewer>

我无法测试它以查看此代码是否完美,但我相信这是一种方式:)

也许您可以将 2 行的 HeightScrollViewerHeight 绑定:

<RowDefinition Height="{Binding Path=Height,
    RelativeSource={RelativeSource AncestorType=ScrollViewer}}"/>