2013-01-08 6 views
7

W ToolkitLongListSelector, tam kiedyś własność IsFlatList która musiała być ustawiona na wartość true, aby wyświetlić listę płaski bez grupowania. Ale w urządzeniu LongListSelector dostarczonym w sterowaniu przez telefon ta właściwość nie jest dostępna. Oto co robięJak wyświetlić flatlist użyciu LongListSelector kontrolę telefonu 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> 

Jeśli zmienię kontrolę do ListBox i usunąć LongListSelector specyficzną właściwość następnie wyświetlać moją listę.

Czy ktoś może mi powiedzieć, czego mi brakuje? śledzę this (Uwagi) dokumentację LongListSelector

Odpowiedz

3

W Windows Phone 8 Wersja LongListSelector zachodzącego LayoutMode do listy i IsGroupingEnabled false powinien wyświetlać dane z danymi w postaci płaskiej listy jak w wersji WP7 Toolkit kontroli .

Na przykład

Biorąc pod uwagę klasę Entity

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

    public string Info 
    { 
     get; 
     set; 
    } 

    public int ID 
    { 
     get; 
     set; 
    } 
} 

Wszystko co musisz zrobić, to stworzyć ObservableCollection podmiotu na mojej stronie i powiązać go do ItemSource mojego LongListSelector (nazwany na liście).

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

Następnie tworzę elementy i dodajemy je do kolekcji.

Oto XAML dla mojego LongListSelector:

<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. Po spędzeniu kilku godzin na graniu z LongListSelector w WP8 i bez wyświetlania danych zmieniłem ustawienie grupowania na false i voilà pojawiły się dane! Może coś do rozważenia innych noży WP8 (XAML?). Ustawiam ItemSources w kodzie. Musi to być sposób, w jaki mam dane strukturalne, które są listą <> prostych obiektów bez grupowania. – SleepyBoBos

+0

Pokazałem w moim przykładzie, że jestGroupingEnabled musi być ustawiony na false, jeśli chcesz normalną "listę", a nie listę zgrupowaną. – Strifex

+0

@SleepyBoBos, mówi to zrobić w pierwszym zdaniu tej odpowiedzi. – MEMark

2

LayoutMode = "Lista" to wszystko, czego potrzebujemy.

Powiązane problemy