LongListSelector,具有可变高度和高度的项目。内容

时间:2014-03-10 10:27:33

标签: windows-phone-8 itemtemplate longlistselector

我已经使用并且熟悉LongListSelector,它具有列出的所有项目的特定项目模板。

现在我尝试实现一个更复杂的LongListSelector,其中添加的项目不是固定高度/特定内容。可能是一个案例中的几个文本块和图像,另一个案例中的相同元素的两倍(它是一组元素,每个项目出现1,2或3次)。

注意:我使用ObservableCollection,它与LongListSelector连接。

ObservableCollection<RouteInformation> Routes = new ObservableCollection<RouteInformation>();

        public RoutePage()
        {
            InitializeComponent();

            RoutesLongListSelector.ItemsSource = Routes;
        }

我通过从数据库中提取数据来填充列表,最后用

添加它们
Routes.Add(new RouteInformation(..., ...));

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

在页面资源中定义多个项目模板:

<phone:PhoneApplicationPage.Resources>
    <DataTemplate x:Key="ItemTemplate3Line">...
</phone:PhoneApplicationPage.Resources>

<LongListSelector x:Name="lls">

并根据您的条件在后面的代码中,选择自定义数据模板:

 if (...)
    lls.ItemTemplate = Resources["ItemTemplate3Line"] as DataTemplate;