我有一个照片库 GridView:
<GridView x:Name="list1" Padding="5" SelectionMode="Multiple">
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsWrapGrid MaximumRowsOrColumns="3" Orientation="Horizontal"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.ItemTemplate>
<DataTemplate>
<Image Width="auto" Height="auto" Source="{Binding}"/>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
我希望图像显示在 3 列中。但是使用此代码,图像会在整个屏幕宽度上显示,每行一个。
最佳答案
您需要通过设置宽度或高度(其中之一可以是自动的)来限制图像大小。我认为是自动图像大小覆盖了 GridView 的行为方式。
例如,在像桌面这样的大屏幕上,尝试设置图像宽度 =“300”,您应该看到 GridView 每 3 个图像换行一次。如果设备是 Windows Mobile,请减小宽度以显示至少 3 张图像。
图像宽度不必像上面那样硬连线——你可以让它自适应,例如,通过使用VisualState management。检测屏幕尺寸以及绑定(bind)和值转换器以确定最佳图像宽度。您也可以在代码隐藏中执行此操作,并且您有更多选项可以以一种很好的方式使图像宽度更加流畅和自适应。
关于c# - 将图像包装在 GridView 的 3 列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34025009/