WPF中ListView的平铺视图

6
如何在WPF中为ListView模拟瓦片视图?

enter image description here

我正在尝试这里展示的示例。但我无法得到正确的解决方案...但我不想使用那个解决方案,因为它太具体了。那么如何实现呢? 编辑:我现在正在尝试这个,似乎可以工作...
<ListBox ItemsSource="{Binding Path=ListObservableUsers, ElementName=AdminWindow}">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Vertical">
                    <Image Source="{Binding Path=Picture}"></Image>
                    <Label Content="{Binding Path=Dni}"></Label>
                </StackPanel>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

关于ElementName=AdminWindow的来源,它来自于<Window .... x:Name="AdminWindow"

而我创建了自己的ObservableCollection<MyUser>

    public class MyUser
{
    public MyUser(int id, string dni, Bitmap picture)
    {
        Id = id;
        Dni = dni;
        Image img = new Image();
        FPhiMultipleSources.FromBitmapImage(img, picture);
        Picture = img.Source;
    }

    public int Id { get; set; }
    public string Dni { get; set; }
    public ImageSource Picture { get; set; }
}

... 
public UCAdminMain()
public UCAdminMain()
{
    ListObservableUsers = new ObservableCollection<MyUser>();

    InitializeComponent();
    uiCurrent = SynchronizationContext.Current;

    // Create users to add with its image
    ....
    ListObservableUsers.Add(...);
}

现在我正在尝试将它们放在一个WrapPanel中。目前还没有成功...有什么想法吗?

2个回答

4
 <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel />
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>

尝试使用WrapPanel


2
一个使用WrapPanel作为ItemsContainer的ItemsControl可能非常适合你想要做的事情。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接