我想用以下样式/设计开发我的应用程序:
关于实施的一些评论:
不幸的是我在实现方面遇到了一些困难(在XAML中):
我尝试了一个GridView(就像在示例教程中一样),它在ItemsPanelTemplate中有一个VirtualizingStackPanel(Orientation = Horizontal)。三个类别(绿色,黄色,灰色)显示为具有不同模板的网格。
这很好用,但现在我有多个GridView的功能我不喜欢/需要:我可以选择它并拖动它一点。我禁用了SelectionMode等。不幸的是,悬停效果仍然存在以及拖动整个类别的可能性。我试过IsHitTestVisible = false删除了这个悬停&拖动,但禁用了类别中的所有按钮和点击事件。
我怎样才能更好地做到这一点,例如解决我的问题?
任何提示和建议都非常感谢。谢谢!
答案 0 :(得分:3)
您可以使用带有Style =“{StaticResource HorizontalScrollViewerStyle}”的ScrollViewer,并将带有三个类别的StackPanel作为ItemsControls并根据您的喜好定义ItemsPanels,或者您可以修改GridViewItem的模板以更改悬停时发生的情况。您可以在设计器中打开XAML文件,右键单击GridView并选择编辑其他模板/编辑生成的项容器(ItemContainerStyle)/编辑副本... - 提取默认模板并查看PointerOver视觉状态以查看需要改变。您可以从VisualState中删除Storyboard,也可以删除用于可视化悬停反馈的相关控件。
答案 1 :(得分:0)
在Windows 8.1中,您可以使用[Windows.UI.Xaml.Controls.Hub][1]
控件,XAML Hub Control Sample中对此进行了演示。此控件用于呈现您所说明的异构数据集,并且可以包含子GridView等。