加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-8 – 类似GridView的页面但具有静态组,每个组部分将具有

发布时间:2020-12-14 05:28:08 所属栏目:Windows 来源:网络整理
导读:我想创建一个类似于Contoso Cookbook应用程序中的Grouped Items页面的页面(如果你已经看过它).基本上,它是一个绑定到CollectionViewSource的GridView. CollectionViewSource x:Name="groupedItemsViewSource" Source="{Binding Groups}" IsSourceGrouped="tr
我想创建一个类似于Contoso Cookbook应用程序中的Grouped Items页面的页面(如果你已经看过它).基本上,它是一个绑定到CollectionViewSource的GridView.

<CollectionViewSource
        x:Name="groupedItemsViewSource"
        Source="{Binding Groups}"
        IsSourceGrouped="true"
        ItemsPath="TopItems"
        d:Source="{Binding AllGroups,Source={d:DesignInstance Type=data:SampleDataSource,IsDesignTimeCreatable=True}}"/>

GridView似乎使用Source属性将组绑定到CVS数据源的最高级别,然后使用ItemsPath属性绑定每个单独的部分.

但是,我的页面不同之处在于我的组是静态的,它们是:Times,Categories,List.第一个是listview,第二个是tile网格,第三个是listview.

此外,每个组部分本身具有不同的布局.它不仅仅是重复组和重复项目布局.我希望能够直接在XAML中为每个组定义“静态”组和布局,甚至可以将测试数据添加到这些元素中,但看起来GridView需要数据绑定,即使只是在虚拟数据源处也是如此设计时间.

那你怎么做?基本上,它需要与GridView完全相同的水平滚动和包装,但这些组具有完全不同的布局,理想情况下每个组应该直接在XAML中定义?

我正在考虑创建一个包含在滚动查看器中的普通网格……你怎么看?你会怎么做?

解决方法

在GridView中,组可以像这样分配 GroupStyle:

<GridView.GroupStyle>
    <GroupStyle HeaderTemplate="{StaticResource MyGroupHeaderTemplate}" 
                Panel="{StaticResource MyGroupItemsPanelTemplate}" 
                HidesIfEmpty="True" />
</GridView.GroupStyle>

现在,在您的情况下,每个组都需要自己的GroupStyle.
因此,您不必在GridView中的每个组中使用ListView,而是:

>使用标题模板和要使用的面板(ItemsPanelTemplate(MSDN))定义2种不同的组样式
>定义具有自定义逻辑的类,以选择要用于组的组样式.(GroupStyleSelector)>在XAML中的GridView上设置GroupStyleSelector属性>在视图模型中定义静态组以包含所需的数据:(时间,类别,列表)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读