我有一个ScrollViewer
包含Grid
图像的。我不确定使用网格是否是正确的选择。这是我希望它看起来像的样机图像:
红色框代表ScrollViewer
. 在其中,是某种类型的布局容器(Grid
目前),它有两行图像(绿色方块),但动态数量的列可以在运行时更改,可以滚动到。另一个条件是我想调整它们的大小,以便始终可见 6 个图像(并且只有 6 个!)。
所以在 XAML 中:
<ScrollViewer Name="scrollViewer1">
<Grid Name="grid1"></Grid>
</ScrollViewer>
然后使用 C# 我想我需要动态添加列。然后听scrollViewer1
's SizeChanged
event 我需要动态计算行和列的大小,以便始终显示 3 张图像。例如:
ColumnDefinition gridColN = new ColumnDefinition();
grid1.ColumnDefinitions.Add(gridColN);
问题#1:动态添加更多列使网格单元格越来越小,并且在超过ScrollViewer
10 列之前永远不会在其中滚动。
预期结果:最终结果应该是水平图像流,一次可见 6 个,当外部容器或窗口调整大小时,它将调整大小。我正在尝试动态调整它们的宽度,但将它们设置为容器宽度的 1/3 不起作用。
问题:这是正确的方法吗?我应该Grid
在里面使用ScrollViewer
吗?我必须手动计算尺寸还是有办法让它们填满容器?