gridview - 将不同的项目放置在 Windows 应用商店应用程序的水平列表中

标签 gridview windows-runtime windows-store-apps

我想开发具有以下风格/设计的应用程序:

design mockup of the front page 关于实现的一些评论:

  • 内容是动态加载的(三个类别(字幕 1-3)是固定的。
  • )
  • 子项的数量(灰色)各不相同
  • 我希望用户能够向右滚动(就像在 Metro 应用中一样)

不幸的是,我在实现时遇到了一些困难(在 XAML 中):

  • 我尝试了 GridView(如示例教程中所示),它在 ItemsPanelTemplate 中具有 VirtualizingStackPanel(方向=水平)。三个类别(绿色、黄色、灰色)显示为具有不同模板的网格。

  • 这基本上工作得很好,但现在我有我不喜欢/不需要的 GridView 的多个功能:我可以选择它并拖动它一点。我禁用了 SelectionMode 等。不幸的是,悬停效果仍然会发生,并且可能会稍微拖动整个类别。我尝试了 IsHitTestVisible=false 删除了此悬停和拖动,但禁用了类别内的所有按钮和点击事件。

我怎样才能做得更好,例如解决我的问题吗?

任何提示和建议都将受到高度赞赏。谢谢!

最佳答案

您可以使用带有 Style="{StaticResource Horizo​​ntalScrollViewerStyle}"的 ScrollViewer 并将具有三个类别的 StackPanel 作为 ItemsControls 并根据您的喜好定义 ItemsPanel,或者您可以修改 GridViewItem 的模板以更改悬停时发生的情况。您可以在设计器中打开 XAML 文件,右键单击 GridView 并选择编辑其他模板/编辑生成的项容器 (ItemContainerStyle)/编辑副本... - 提取默认模板并查看 PointerOver 视觉状态以了解内容需要改变。您可以仅从 VisualState 中删除 Storyboard,也可以删除用于可视化悬停反馈的相关控件。

关于gridview - 将不同的项目放置在 Windows 应用商店应用程序的水平列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11741497/

相关文章:

c# - 发布创建的文件

c# - 如何在 Windows Store (Metro) 应用程序的 DataAnnotations 中使用 "ErrorMessageResourceType"

c# - 登录以使用 Live SDK、Windows 应用商店应用

android - 如何获取自定义网格子项点击事件?

c# - ASP.NET 是否有任何具有固定 header 功能的数据绑定(bind)控件?

asp.net-mvc - 使用 ASP.Net MVC 2 和 Telerik MVC(2010 年第一季度)向 Telerik 网格添加编辑列

asp.net - 使用 jQuery 查找 GridView 的特定列中是否选中了任何复选框

database - WinRT SQLite 加密

c# - WinRT XAML 文本框、SelectionStart 和 CR/LF

c# - 在 Windows 10 通用应用程序中停止播放页面上的所有媒体元素