我试图用下面的例子来包裹ParallaxView:
<Grid Background="Yellow"
Width="500"
Height="300">
<ParallaxView VerticalShift="0"
HorizontalShift="500"
Source="{x:Bind scrollView}">
<StackPanel Orientation="Horizontal"
Height="300">
<Border Width="500"
Background="Red"/>
<Border Width="500"
Background="Blue"/>
</StackPanel>
</ParallaxView>
<ScrollViewer x:Name="scrollView"
HorizontalScrollBarVisibility="Auto">
<Border Background="Transparent"
Width="1000"
Height="300" />
</ScrollViewer>
</Grid>
因此,视差视图具有一个水平StackPanel,其中有两个Border,每个Border宽为500px。
用作ParallaxView源的ScrollViewer具有透明的Border,其宽度与StackPanel(1000px)相同。
请注意,我将HorizontalShift设置为500,所以我期望ParallaxView将StackPanel水平滚动500 px。我希望看到第二个边框从左边距开始。
运行该应用程序时,没有任何滚动,我已经看到了第二边框的一点点,看起来ParallaxView已经以某种方式滚动了StackPanel:
为什么会这样?为什么ParallaxView在开始时会水平滚动StackPanel?