2013-10-31 32 views
3

我试图使我的滚动查看器滚动完美无瑕,那是我有一个scrollviewer,它包含一个stackpanel,堆栈面板包含一个用户制作的用户控件。并且它们可以在运行时动态增加或减少。如何使scrollviewer滚动像素不是组件(wpf)

问题是,假设我的堆栈面板中只有2个用户控件,滚动查看器只有2个滚动级别,因此它为每个点击或鼠标滚轮运动滚动整个用户控件。

我该如何改变这种情况?它是一种财产还是设计中存在错误?

这里是它的XAML代码:

<ScrollViewer HorizontalAlignment="Left" Height="420" VerticalAlignment="Top" Width="862" Margin="0,0,-2,0" CanContentScroll="True" PanningRatio="0.1"> 
       <StackPanel x:Name="hpList" HorizontalAlignment="Left" Height="422" VerticalAlignment="Top" Width="843"/> 
      </ScrollViewer> 

且堆栈面板膨胀或收缩动态。

+1

设置CanContentScroll =“假”,它会神奇的工作。 –

+0

现在它根本无法滚动! –

+0

in addiotion to @devhedgehog now尝试使用IsItemsHost设置StackPanel =“False” –

回答

5

集CanContentScroll =“假”和去掉StackPanel的高度\宽度

+0

这样做!谢谢,但你能解释一下高度\宽度与它有什么关系? –

+0

stackpanel大小转到滚动内容大小,所以它似乎scrollviewer,他不需要滚动,(如果我不清楚谷歌是充满了答案:)) – ZSH

相关问题