ScrollViewer中的滚动位置?

时间:2014-01-15 20:07:09

标签: wpf xaml

我有一个带有TabControl的表单,其中包含许多TabItems。每个TabItems都包含一个包含一些不同内容的ScrollViewer。

我的问题 - 如果表单的大小和TabControl以及包含的内容是ScrollViewer显示其垂直滚动条,则内容将在ScrollViewer中垂直居中显示。为了查看内容的顶部,用户需要手动滚动到顶部。

奇怪的是,当大小显示水平滚动条时,内容最初会对齐左边,这就是我想要的。

如何将这些ScrollViewers打开,并将滚动位置初始化为顶部?

<ParentUserControl>
    <Grid>
        <TabControl>
            <TabItem>
                <ScrollViewer>
                    <Grid>
                        // Assorted Junk
                    </Grid>
                </ScrollViewer>
            </TabItem>
            <TabItem>
                <ScrollViewer>
                    <ChildUserControl />
                </ScrollViewer>
            </TabItem>
            <TabItem>
                <ScrollViewer>
                    <OtherChildUserControl />
                </ScrollViewer>
            </TabItem>
        </TabControl>
    </Grid>
</ParentUserControl>

1 个答案:

答案 0 :(得分:0)

我认为正在发生的事情是ScrollIntoView事件正在被触发。这个解决方案过去对我有用:Stop WPF ScrollViewer automatically scrolling to perceived content