LongListSelector内的水平列表

时间:2013-07-13 19:58:41

标签: xaml windows-phone-8 datatemplate alignment longlistselector

我试图接近以下LongListSelector项目:

List item text
SubItem 1 SubItem 2 SubItem 3

因此列表项有一行文本(“列表项文本”)和嵌套水平列表(SubItem 1 SubItem 2 ...)。

我尝试使用ItemTemplate和数据模板等来构建它,但无法获得嵌套列表工作。

我的源数据采用以下格式:

public class Data
{
    public string title{ get; set; }
    public List<SubItem> SubItems{ get; set; }

}

欢迎所有例子:)

1 个答案:

答案 0 :(得分:2)

您可以将ItemsPanel定义为WP Toolkit的WrapPanel<StackPanel Orientation="Horizontal" />

<phone:LongListSelector ItemsSource="{Binding Data}">
    <phone:LongListSelector.ItemTemplate>
        <DataTemplate>
            <StackPanel>
                <TextBlock Text="{Binding Title}" />
                <ListBox ItemsSource="{Binding SubItems}">
                    <ListBox.ItemsPanel>
                        <ItemsPanelTemplate>
                            <StackPanel Orientation="Horizontal" />
                        </ItemsPanelTemplate>
                    </ListBox.ItemsPanel>
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <TextBlock Text="{Binding SubItemTitle}" Margin="0,0,12,0" />
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>
            </StackPanel>
        </DataTemplate>
    </phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>

您可以看到我在内部列表中使用ListBox,因为据我所知,LongListSelector没有公开它。