5

我在让水平堆栈面板从滚动查看器中滚动时遇到问题。我想做的比我的例子更复杂,但是在删除变量之后,我想如果我能解决最后一个问题,我可以弄清楚一切。

基本上,当它包含水平堆栈面板时,我无法让滚动查看器水平滚动。

这是示例 XAML:

   <ScrollViewer>
        <StackPanel Orientation="Horizontal">
            <Image Source="test.png" Width="400" Height="400"/>
            <Image Source="test.png" Width="400" Height="400"/>
            <Image Source="test.png" Width="400" Height="400"/>
            <Image Source="test.png" Width="400" Height="400"/>
            <Image Source="test.png" Width="400" Height="400"/>
            <Image Source="test.png" Width="400" Height="400"/>
            <Image Source="test.png" Width="400" Height="400"/>
        </StackPanel>
    </ScrollViewer>

奇怪的是,如果我只是将方向从水平交换到垂直,它滚动得很好。我在多篇文章中读到堆栈面板存在的问题可能使它们不适合滚动查看器,因此我也尝试使用网格,但得到相同的结果。

  <ScrollViewer>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="400"/>
                <ColumnDefinition Width="400"/>
                <ColumnDefinition Width="400"/>
                <ColumnDefinition Width="400"/>
                <ColumnDefinition Width="400"/>
                <ColumnDefinition Width="400"/>
            </Grid.ColumnDefinitions>                
            <Image Source="test.png" Width="400" Height="400"  Grid.Column="0"/>
            <Image Source="test.png" Width="400" Height="400"  Grid.Column="1"/>
            <Image Source="test.png" Width="400" Height="400"  Grid.Column="2"/>
            <Image Source="test.png" Width="400" Height="400"  Grid.Column="3"/>
            <Image Source="test.png" Width="400" Height="400"  Grid.Column="4"/>
            <Image Source="test.png" Width="400" Height="400"  Grid.Column="5"/>
        </Grid>
    </ScrollViewer>

这似乎很简单,以至于我觉得我误解了一些基本的东西。如果有人可以提供帮助,我将非常感激。

4

1 回答 1

8

你只需要打开水平滚动。 默认情况下它是隐藏的(但垂直的不是,因此会造成混淆)。

<ScrollViewer HorizontalScrollBarVisibility="Auto">
于 2013-10-10T06:04:42.523 回答