の画像ScrollViewer
を含む がGrid
あります。グリッドを使用することが正しい選択であるかどうかはわかりません。これは、私がそれをどのように見せたいかのモックアップ画像です:
赤いボックスは を表しますScrollViewer
。その中には、 2 行の画像 (緑色の四角形) を持つある種のレイアウト コンテナー (Grid
現時点では) がありますが、実行時に変化し、スクロールできる動的な量の列があります。もう 1 つの条件は、6 つの画像 (そして 6 つだけ!) が常に表示されるようにサイズを変更することです。
したがって、XAML では次のようになります。
<ScrollViewer Name="scrollViewer1">
<Grid Name="grid1"></Grid>
</ScrollViewer>
次に、C# を使用して、列を動的に追加する必要があると思います。次に、scrollViewer1
のSizeChanged
イベントを聞いて、行と列のサイズを動的に計算して、3 つの画像が常に表示されるようにする必要があります。例えば:
ColumnDefinition gridColN = new ColumnDefinition();
grid1.ColumnDefinitions.Add(gridColN);
問題 #1:列を動的に追加すると、グリッド セルがどんどん小さくなり、ScrollViewer
10 列以上になるまでスクロールしません。
期待される結果:最終結果は、外側のコンテナーまたはウィンドウのサイズが変更されるとサイズが変更される、一度に 6 つの画像が表示される水平方向のストリームである必要があります。幅を動的に変更しようとしていますが、コンテナ幅の 1/3 に設定してもうまくいきません。
質問:これは正しいアプローチですか? Grid
の中で使用する必要がありScrollViewer
ますか?サイズを手動で計算する必要がありますか、それともコンテナーを満たす方法はありますか?