我需要创建一个带有语义缩放的 xaml 页面,其中放大的 View 包含 GridView 和 ListView。我从基本的网格应用程序模板开始。
为了尝试实现此目的,我使语义缩放控件的放大 View 显示 ListView ,并且 ListView 包含我实际将数据显示为 ListViewItems 所需的 ListView 和 GridView 控件。在某种程度上,这是可行的 - 问题是鼠标按下或点击动画发生在父 ListView 的整个子控件上,而不是子元素的元素上。如果我不需要支持语义缩放,这种布局会很简单。
所以,我的问题是这是实现这种布局的最佳方法,还是我错过了一些东西。如果这是最好的方法,是否可以控制行为,以便子项元素在选择时具有正确的动画效果?
其他信息
选择 GridView 或 ListView 取决于集合中项目的类型。在此示例中,grp 1、3 和 4(显示在网格中)都是 NewsFull
类型的集合,其余部分(显示在列表中)都是 HeadlineOnly
类型,这两种类型都继承自 NewsBase。
页面布局(放大)应该是这样的......
Title
grp 1 grp 2 grp 3 grp 4 grp 5
[g][g][g][g] [_list item_] [g][g][g][g][g] [g][g][g] [_list_item_]
[g][g][g][g] [_list item_] [g][g][g][g][g] [g][g][g] [_list_item_]
[g][g][g][g] [_list item_] [g][g][g][g] [g][g] [_list_item_]
[g][g][g] [_list item_] [g][g][g][g] [g][g]
其中 [g]
是 GridView 项,[_list_item_] 是 ListView 项。
缩小 View 是这样的...
Title
grp 1 grp 2 grp 3 grp 4 grp 5
[summary] [summary] [summary] [summary] [summary]
最佳答案
也许您可以尝试使用 ItemContainerStyleSelector 根据项目类型或类似类型交换项目容器?这样,也许您可以将一个组设置为具有包装布局容器,而另一个组可以只是堆栈面板?
关于xaml - 包含 GridView 和 ListView 的 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10896984/