在工具包 LongListSelector 中,曾经有一个属性 IsFlatList 需要设置为true才能显示平面列表而不进行任何分组。但是在手机控件中提供的 LongListSelector 中,此属性丢失。这就是我正在做的事情
<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>
如果我将控件更改为ListBox并删除LongListSelector特定属性,则显示我的列表。
有人可以告诉我我错过了什么吗? 我正在关注LongListSelector的this(备注)文档
答案 0 :(得分:3)
在Windows Phone 8版本的LongListSelector设置中,LayoutMode为List,IsGroupingEnabled为false,应将数据绑定数据显示为平面列表,如WP7 Toolkit版本的控件。
例如,
给定实体类
public class Entity
{
public string Name
{
get;
set;
}
public string Info
{
get;
set;
}
public int ID
{
get;
set;
}
}
我需要做的就是在我的页面上创建一个ObservableCollection实体并将其绑定到我的LongListSelector(命名列表)的itemsource。
ObservableCollection<Entity> data = new ObservableCollection<Entity>();
list.ItemsSourdce = data;
然后我创建实体并将它们添加到集合中。
这是我的LongListSelector的XAML:
<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>
答案 1 :(得分:2)
LayoutMode =“List”,这就是你所需要的一切。