ListBox中的WrapPanel与Horizo​​ntal&垂直滚动

时间:2014-11-09 21:21:50

标签: c# .net wpf vb.net xaml

根据https://stackoverflow.com/a/2573386/864101,我使用此代码:

<ListBox ScrollViewer.HorizontalScrollBarVisibility="Disabled">
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel HorizontalAlignment="Center" VerticalAlignment="Center" />
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
    <Image Source="http://placehold.it/50x50" Stretch="None"/>
    <Image Source="http://placehold.it/60x50" Stretch="None"/>
    <Image Source="http://placehold.it/70x50" Stretch="None"/>
    <Image Source="http://placehold.it/80x50" Stretch="None"/>
    <Image Source="http://placehold.it/90x50" Stretch="None"/>
    <Image Source="http://placehold.it/100x50" Stretch="None"/>
    <Image Source="http://placehold.it/600x200" Stretch="None"/>
</ListBox>

这就是它的样子:

我需要同时拥有水平和水平垂直滚动条,就像这样(只是一个使用HTML的快速模型):

使用ScrollViewer.HorizontalScrollBarVisibility="Disabled"使图片换行但禁用水平滚动条,这就是为什么我无法看到600x200图像的其余部分。

我一直在努力解决这个问题,但没有运气,有些人可以帮助我吗?

ListBox中的图像使用用户输入的不同尺寸进行更新。

1 个答案:

答案 0 :(得分:2)

添加保证金:

<ListBox>
<ListBox.ItemsPanel>
    <ItemsPanelTemplate>
        <WrapPanel MaxWidth="600" HorizontalAlignment="Center" VerticalAlignment="Center" />
    </ItemsPanelTemplate>
</ListBox.ItemsPanel>
<Image Margin ="5" Source="http://placehold.it/50x50" Stretch="None"/>
<Image Margin ="5" Source="http://placehold.it/60x50" Stretch="None"/>
<Image Margin ="5" Source="http://placehold.it/70x50" Stretch="None"/>
<Image Margin ="5" Source="http://placehold.it/80x50" Stretch="None"/>
<Image Margin ="5" Source="http://placehold.it/90x50" Stretch="None"/>
<Image Margin ="5" Source="http://placehold.it/100x50" Stretch="None"/>
<Image Margin ="5" Source="http://placehold.it/600x200" Stretch="None"/>
</ListBox>

也许你需要的利润率小于5;试一试。也许600的另一个值。