在windows手机的列表框中排列可变大小的图像

时间:2014-06-24 10:58:43

标签: image windows-phone-8 listbox wrappanel

我使用了wrappanel来排列列表框中的图像,但在我的图片集中,一些图像具有不同的大小。有些是水平的,有些是垂直的。由于取向不同,图像之间存在一些视觉上不太好的空间。任何人都可以建议我删除这些空间吗?

感谢

enter image description here
我使用下面的代码,但问题仍然相同......

<ListBox Name="lstBoxMyRecentPhotos"
                                         MaxHeight="650"
                                         Margin="0,8,0,0"
                                         SelectionChanged="lstImageList_SelectionChanged">
                                    <ListBox.ItemsPanel>
                                        <ItemsPanelTemplate>
                                            <toolkit1:VariableSizedWrapGrid ItemHeight="200" ItemWidth="230" />
                                        </ItemsPanelTemplate>
                                    </ListBox.ItemsPanel>

                                    <ListBox.ItemTemplate>
                                        <DataTemplate>

                                            <Border Name="brdr"
                                                    Margin="5"
                                                    BorderBrush="White"
                                                    BorderThickness="3">
                                                <Border.Background>
                                                    <ImageBrush ImageSource="Images/capsule_image_holder.png" Stretch="Uniform" />
                                                </Border.Background>
                                                <Image Width="{Binding width}"
                                                       Height="{Binding height}"
                                                       Hold="imgRecent_Hold"
                                                       Source="{Binding photoUrl}"
                                                       Stretch="UniformToFill">

                                                </Image>
                                            </Border>

                                        </DataTemplate>
                                    </ListBox.ItemTemplate>

                                </ListBox>

2 个答案:

答案 0 :(得分:1)

两种方式

  1. 使图像始终拉伸UniformToFill并使用硬编码尺寸 - 这样它将统一填充已经给出的空间,所有照片将很好地使用给定空间

  2. 使用VariableSizedWrapGrid

  3.   

    提供网格样式的布局面板,其中每个图块/单元格都可以   基于内容的可变大小。与WinRT类似   VariableSizedWrapGrid。

答案 1 :(得分:1)

我不知道您为VariableSizedWrapGrid使用了哪个工具包,但是您确定需要设置其ItemHeight吗?如果你不这样做会怎么样?

我个人使用Telerik的控件给我一个WrapGrid。如果您可以访问他们的控件,我可以分享一个例子。

以下是我的实现: