WPf中ListView的平铺视图

时间:2013-07-18 10:44:15

标签: wpf listview wpf-controls

如何在WPF中模拟ListView的平铺视图?

enter image description here

我正在尝试显示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(...);
}

现在我正试图把它们放在一个包装板里面。现在没有运气......有什么想法吗?

3 个答案:

答案 0 :(得分:3)

带有WrapPanel的ItemsControl作为ItemsContainer可能非常适合您要做的事情。

答案 1 :(得分:3)

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

尝试使用wrappanel

答案 2 :(得分:0)

链接here让我找到了正确的解决方案。

容易!