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