Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 在windows phone的列表框中排列可变大小的图像_Image_Windows Phone 8_Listbox_Wrappanel - Fatal编程技术网

Image 在windows phone的列表框中排列可变大小的图像

Image 在windows phone的列表框中排列可变大小的图像,image,windows-phone-8,listbox,wrappanel,Image,Windows Phone 8,Listbox,Wrappanel,我曾使用wrappanel在列表框中排列图像,但在我的图片集中,一些图像的大小不同。有些是水平的,有些是垂直的。由于方向不同,图像之间存在一定的空间,视觉效果不佳。有谁能建议我用什么方法来消除这些空间吗 谢谢 我使用以下代码,但问题仍然是一样的 <ListBox Name="lstBoxMyRecentPhotos" MaxHeight="650"

我曾使用wrappanel在列表框中排列图像,但在我的图片集中,一些图像的大小不同。有些是水平的,有些是垂直的。由于方向不同,图像之间存在一定的空间,视觉效果不佳。有谁能建议我用什么方法来消除这些空间吗

谢谢


我使用以下代码,但问题仍然是一样的

<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>

两种方式

  • 使图像始终拉伸UniformToFill并使用硬编码大小-这样它将均匀地填充给定的空间,所有照片都将很好地使用给定的空间

  • 使用

  • 提供一个网格样式的布局面板,每个磁贴/单元都可以在其中显示 基于内容的可变大小。类似于WinRT VariableSizedWrapGrid


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

    我个人用Telerik的控制器给我一个包裹。如果你可以访问他们的控件,我可以分享一个例子

    我的实现是这样的:


    我尝试使用VariableSizedWrapGrid,但在VariableSizedWrapGrid中,我们必须预定义高度和宽度,因此当我不提供它触发的ItemHeight和未处理的异常时,我会得到相同大小的图像。。我们必须为Telerik的控制购买订阅,作为一个新的开发者,我想我负担不起这个。。。那么你能给我提供其他选择吗。任何样品都会更有帮助。