2

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

首页的设计模型 对实施的一些评论:

  • 内容是动态加载的(三个类别(字幕1-3)是固定的。
  • 子项目的数量(灰色)我的变化
  • 我希望用户能够向右滚动(在 Metro-apps 中像往常一样)

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

  • 我尝试了一个在 ItemsPanelTemplate 中有一个 VirtualizingStackPanel (Orientation=Horizo​​ntal) 的 GridView(如示例教程中所示)。三个类别(绿色、黄色、灰色)显示为具有不同模板的网格。

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

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

非常感谢任何提示和建议。谢谢!

4

2 回答 2

3

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

于 2012-07-31T16:01:45.953 回答
0

在 Windows 8.1 中,您可以为此使用[Windows.UI.Xaml.Controls.Hub][1]控件,这在XAML 集线器控件示例中进行了演示。此控件用于呈现您所说明的异构数据集,并且可以包含子 GridView 等。

于 2014-03-27T16:09:12.930 回答