美文网首页
uwp开发:数据模板选择器

uwp开发:数据模板选择器

作者: 搬砖的包工头 | 来源:发表于2019-01-21 13:57 被阅读0次

     这两天,在做《简影uwp》的首页推荐版块时,用到了数据模板选择器,所以简单介绍一下。数据模板选择器。顾名思义,就是可以选择性的展示不同的数据模板。那么,什么时候用数据模板选择器?怎么用呢?往下看:

    应用场景:

    同样是以我目前正在做的《简影uwp》为例,在做首页推荐版块时,要展示的数据是不同的版块的,都放在了一个集合中,这样的话,如果直接将数据绑定到ListView或者GridView上显示的话,是不可取的。虽然这些数据在一个集合内,但是因为集合内每个种类都不一样,显示的方式,展示的数据都不同,那么针对这种情况,就需要用到数据模板选择器了。根据不同的种类,展示不同的模板。

    实例演示:

    第一步:要使用数据模板选择器,首页定义一个数据模板选择器类。让这个类继承自:DataTemplateSelector。再定义需要展示的所以模板类型。然后重写它的SelectTemplateCore方法即可。根据集合内的类型,返回不同的数据模板。代码如下;

      public sealed class CustomDataTemplateSelector : DataTemplateSelector

        {

            public DataTemplate CollectionTemplate { get; set; }

            public DataTemplate ThreadTemplate { get; set; }

            public DataTemplate MuscicTemplate { get; set; }

            public DataTemplate VideoTemplate { get; set; }

            public DataTemplate TcTemplate { get; set; }

            protected override DataTemplate SelectTemplateCore(object item, DependencyObject container)

            {

                RecList list = item as RecList;

                if (list != null)

                {

                    switch (list.type)

                    {

                        case "collection":

                            return CollectionTemplate;

                        case "threadmusic":

                            return MuscicTemplate;

                        case "threadvideo":

                            return VideoTemplate;

                        case "movielines":

                            return TcTemplate;

                        default:

                            return ThreadTemplate;

                    }

                }

                return null;

            }

        }

    第二步:

    在前台定义需要的数据模板,即DataTemplate.要和上面后台定义的对应。

    部分代码截图如下: 即是两个不同的数据模板。

    第三步:定义Listview或者GridView,然后引用定义的数据模板即可。

    这样,就可以实现根据集合内的对象不同,展示不同的数据模板了。最后,上一张,正在做的这个页面的图示:

    这样就可以实现在一个列表内展示不同类型的内容了。好了,今天就记到这里。欢迎热爱uwp开发的同学加入uwp开发交流群193148992.共同学习交流。

    相关文章

      网友评论

          本文标题:uwp开发:数据模板选择器

          本文链接:https://www.haomeiwen.com/subject/pnrcjqtx.html