2013-01-08 27 views
7

Trong toolkitLongListSelector, có từng là một tài sản IsFlatList mà cần phải được thiết lập là true để hiển thị danh sách phẳng mà không cần bất kỳ nhóm. Nhưng trong số LongListSelector được cung cấp trong điều khiển điện thoại, thuộc tính này bị thiếu. Dưới đây là những gì tôi đang thực hiệnLàm thế nào để hiển thị flatlist sử dụng điều khiển điện thoại LongListSelector của WP8

<phone:LongListSelector Name="myList" IsGroupingEnabled="False" LayoutMode="List" ItemsSource="{Binding Source ={StaticResource SortedList} }" CacheMode="BitmapCache" > 
       <phone:LongListSelector.ItemTemplate> 
        <DataTemplate> 
         <components:MyControl CacheMode="BitmapCache" MyItem="{Binding}"/> 
        </DataTemplate> 
       </phone:LongListSelector.ItemTemplate> 
      </phone:LongListSelector> 

Nếu tôi thay đổi điều khiển thành ListBox và xóa LongListSelector thì thuộc tính cụ thể sẽ hiển thị danh sách của tôi.

Ai đó có thể vui lòng cho tôi biết tôi đang thiếu gì không? tôi sau this (chú thích) tài liệu của LongListSelector

Trả lời

3

Trong Windows Phone 8 Phiên bản của thiết LayoutMode vào danh sách LongListSelector và IsGroupingEnabled false sẽ hiển thị dữ liệu databound của bạn như là một danh sách phẳng như trong phiên bản WP7 Toolkit kiểm soát .

Ví dụ,

Với một lớp Entity

public class Entity 
{ 
    public string Name 
    { 
     get; 
     set; 
    } 

    public string Info 
    { 
     get; 
     set; 
    } 

    public int ID 
    { 
     get; 
     set; 
    } 
} 

Tất cả tôi cần làm là tạo ra một ObservableCollection của Entity trên trang của mình và gắn nó vào itemsource của LongListSelector của tôi (tên danh sách).

ObservableCollection<Entity> data = new ObservableCollection<Entity>(); 
list.ItemsSourdce = data; 

Sau đó, tôi tạo các thực thể và thêm chúng vào bộ sưu tập.

Đây là XAML cho LongListSelector tôi:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
     <phone:LongListSelector Name="list" HorizontalAlignment="Left" Height="609" VerticalAlignment="Top" Width="456" LayoutMode="List" IsGroupingEnabled="False" > 
      <phone:LongListSelector.ItemTemplate> 
       <DataTemplate> 
        <StackPanel VerticalAlignment="Top"> 
         <TextBlock FontWeight="Bold" Text="{Binding Name}" /> 
         <TextBlock Text="{Binding Info}" /> 
        </StackPanel> 
       </DataTemplate> 
      </phone:LongListSelector.ItemTemplate> 
     </phone:LongListSelector> 
    </Grid> 
+0

Hmmmmmmm. Sau một vài giờ chơi với LongListSelector trong WP8 và không có hiển thị dữ liệu của tôi, tôi đã thay đổi Grouping được kích hoạt thành false và dữ liệu xuất hiện! Có lẽ một cái gì đó cho khác WP8 (XAML?) Noobs để xem xét. Tôi đang thiết lập ItemSources trong mã phía sau. Phải là cách tôi có dữ liệu có cấu trúc chỉ là một List <> của các đối tượng đơn giản không có nhóm. – SleepyBoBos

+0

Tôi đã cho thấy trong ví dụ của tôi rằng GroupGroupEnabled phải được đặt thành false nếu bạn muốn một danh sách "bình thường" và không phải là một danh sách được nhóm. – Strifex

+0

@SleepyBoBos, nó nói để làm điều đó trong câu đầu tiên của câu trả lời này. – MEMark

2

LayoutMode = "Danh sách" đó là tất cả bạn cần.

Các vấn đề liên quan