【问题标题】:Add Control after Items in GridView Group在 GridView 组中的项目之后添加控件
【发布时间】:2013-05-15 13:37:45
【问题描述】:

我目前正在开发一个 Windows 8 应用商店应用程序,该应用程序在 HubPage 中使用 Grouped GridView,显示某些类别的亮点。到目前为止,当单击标题时,您会看到此类别的更多亮点。

现在我想在每个组的末尾添加一个控件,将用户引导到“非突出显示”类别站点,该站点仅显示该类别的所有项目。

是否有一种简单而优雅的方法来做到这一点 - 假设可以使用模板。

(我认为最新的 Bing-News-App 也有类似的功能)

提前感谢您的每一个帮助。

【问题讨论】:

    标签: xaml gridview windows-store-apps


    【解决方案1】:

    有几种方法可以做到这一点。

    • 您可以将任意对象添加到组的末尾,然后使用 DataTemplateSelector 对其进行样式设置。

    • 您可以创建自己的 VariableSizedWrapGrid,并将控件添加到构造函数的末尾(斜线“Arrange”)。然后,您可以添加任意单击处理程序作为依赖属性,并且仅在设置了单击处理程序时才显示按钮,因此您可以在其他页面上重用它,等等。

    • 您可以更改 GroupStyle 以在组的末尾包含类似的内容,但它可能不会与组中的其他项目一起制作动画(如果这对您很重要的话)。

      李>

    最简单的可能是第一个。如果您的组是SampleItems 的列表,则创建SampleItem 类的子类,称为类似于TerminalSampleItem 的东西。为它创建一个模板(就像您制作其他数据模板一样)。创建一个具有两个属性的ItemTemplateSelectorNonTerminalDataTemplateTerminalDataTemplate(假设您只有两个数据模板)。让SelectTemplateOverride 函数检查 (item is TerminalSampleItem);

    【讨论】:

    • 谢谢!我想添加一个任意对象,但我认为代码和 xaml 的分离有点奇怪(我只认为它是一个导航元素,如标题 - 具有次要样式)。我会回复你的 :) 谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    • 2012-03-28
    相关资源
    最近更新 更多