7

工具包 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 的这个(备注)文档

4

2 回答 2

3

在 LongListSelector 的 Windows Phone 8 版本中,将 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 的 Entity 并将它绑定到我的 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>
于 2013-01-17T19:39:28.860 回答
2

LayoutMode ="List" 这就是你所需要的。

于 2013-01-17T23:21:06.393 回答