2013-07-18 37 views
5

Làm thế nào để mô phỏng chế độ xem lát gạch cho một ListView trong WPF?Chế độ xem lát gạch cho ListView trong WPf

enter image description here

Tôi đã cố gắng ví dụ thể hiện here. Nhưng tôi không thể có được giải pháp đúng ... Nhưng tôi không muốn sử dụng giải pháp đó như tôi quá nhiều cụ thể. Vậy làm thế nào sẽ là cách để thực hiện điều đó?

EDIT: Tôi đang cố gắng này ngay bây giờ và dường như làm việc ...

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

Trường hợp ElementName=AdminWindow đến từ <Window .... x:Name="AdminWindow"

Và tôi tạo của riêng tôi 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(...); 
} 

Và bây giờ tôi đang cố gắng để đặt chúng bên trong một bảng điều khiển bọc. Không có may mắn ngay bây giờ ... Bất kỳ ý tưởng?

+2

Thats không đủ ... Chúng tôi sẽ không cung cấp cho bạn một giải pháp hoàn chỉnh cho vấn đề của bạn, mà btw chúng tôi thực sự không biết. Hiển thị cho chúng tôi những gì bạn đã thử, những gì không hoạt động trong một mẫu mã nhỏ có thể biên dịch được và chúng tôi cố gắng giúp bạn và chỉ cho bạn đúng hướng. – dowhilefor

+0

Vấn đề là tôi không muốn sử dụng mã đó, bởi vì tôi nghĩ nó hơi cụ thể ... Tôi cần phải biết cách thay đổi nó. – Sonhja

+0

Chính xác những gì cụ thể về nó? Vẻ đẹp của WPF là của bất kỳ Khung tôi biết, đó là rất dễ dàng để sửa đổi trong cách sử dụng và xuất hiện. Làm thế nào về bạn bắt đầu với mã đó, bởi vì bằng cách sử dụng ListView và sử dụng TileView là bắt đầu để thực hiện điều chỉnh của riêng bạn. Ví dụ, chúng tôi sử dụng nó trong ứng dụng của chúng tôi là tốt với kết quả tuyệt vời. – dowhilefor

Trả lời

0

Liên kết here đưa tôi đến giải pháp đúng.

Dễ dàng!

2

An ItemsControl với WrapPanel như ItemsContainer có lẽ sẽ phù hợp với những gì bạn đang cố gắng thực hiện.

+0

Điều đó càng ít giải quyết được vấn đề của tôi. :) Bây giờ tôi sẽ kiểm tra làm thế nào để chèn hình ảnh! – Sonhja

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

cố gắng sử dụng một wrappanel