从滚动中排除控件

时间:2012-10-30 11:16:22

标签: wpf

我的情况是在基类(ScrollViewer)中设置了Window,我的用户控件被动态地添加为窗口的内容。现在,我希望我的用户控件中的一个控件(ToolBar)被排除在滚动之外(以保持在顶部可见)。我知道HandlesScrolling类上有一个属性Control,但它是内部的。我无法将工具栏放在ScrollViewer之外,因为我无法访问它。 有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

我能想到的唯一方法是让你的控件大小本身到外部ScrollViewer,然后有自己的内部ScrollViewer来处理滚动。下面是一些示例代码,但关键是将控件的Height绑定到外部ActualHeight的{​​{1}},如下所示:ScrollerViewer

外部Scrollviewer:

Height="{Binding Path=ActualHeight, RelativeSource={RelativeSource AncestorType={x:Type ScrollViewer}}}"

你的控制:

<ScrollViewer>
    <ListBox:HandlesItsOwnScrolling />
</ScrollViewer>