我有一个照片库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列上。但是使用此代码,屏幕的整个宽度都会显示图像,每行一个。
答案 0 :(得分:0)
您需要通过设置宽度或高度来约束图像大小(其中一个可以是自动)。我认为自动图像大小会覆盖GridView的行为方式。
例如,在像桌面这样的大屏幕上,尝试设置图像宽度=&#34; 300&#34;你应该看到GridView包装每3张图片。如果设备是Windows Mobile,请减小宽度,以便显示至少3张图像。
图像宽度不必像上面那样硬连线 - 您可以使其自适应,例如,使用VisualState management检测屏幕尺寸以及装订和值转换器以确定最佳图像宽度。您也可以在代码隐藏中执行此操作,并且您有更多选项可以使图像宽度更加流畅和自适应。