无法在Windows应用商店应用中滚动内容水平

时间:2013-07-11 08:56:49

标签: c# visual-studio-2012 windows-8 windows-store-apps winrt-xaml

在我的应用程序中,我有一个StackPanel,其Orientation设置为'horizo​​ntal'。在我的StackPanel中有4个图像。当我尝试水平滚动此内容时,它只滚动几个像素,我看不到整个内容。当我将StackPanel的Orientation更改为vertical时,我可以将整个内容垂直滚动。为什么不能以水平方式滚动它?我有什么想法可以解决这个问题吗?

<Grid>
        <ScrollViewer>
            <StackPanel Orientation="Horizontal" >
                <Canvas Margin="120,0,0,0"
                        Width="310"
                        Height="390">
                    <Image Width="310"
                           Height="390" 
                           Source="ms-appx:///Assets/Image/background_teaser.png"/>
                </Canvas>

                <Canvas Margin="120,0,0,0"
                        Width="310"
                        Height="390">
                    <Image Width="310"
                           Height="390" 
                           Source="ms-appx:///Assets/Image/background_teaser.png"/>
                </Canvas>

                <Canvas Margin="120,0,0,0"
                        Width="310"
                        Height="390">
                    <Image Width="310"
                           Height="390" 
                           Source="ms-appx:///Assets/Image/background_teaser.png"/>
                </Canvas>

                <Canvas Margin="120,0,0,0"
                        Width="310"
                        Height="390">
                    <Image Width="310"
                           Height="390" 
                           Source="ms-appx:///Assets/Image/background_teaser.png"/>
                </Canvas>
            </StackPanel>
        </ScrollViewer>
    </Grid

2 个答案:

答案 0 :(得分:3)

默认情况下不启用水平滚动。

<ScrollViewer HorizontalScrollMode="Auto" HorizontalScrollBarVisibility="Auto">

答案 1 :(得分:0)

我在ScrollViewer中使用Stackpanels时遇到了一些问题。尝试将Stackpanel包装在另一个Grid中。 正如其他人指出的那样,您需要在ScrollViewer上设置Horizo​​ntalScrollMode