У меня есть требование создать страницу xaml с семантическим масштабированием, где увеличенное представление содержит как GridViews, так и ListViews. Я начал с базового шаблона грид-приложения.
Чтобы попытаться добиться этого, я сделал увеличенное представление элемента управления Semantic Zoom, отображающее представление списка, а представление списка содержит элементы управления ListView и GridView, которые мне нужны для фактического отображения данных как ListViewItems. Это работает до определенного момента - проблема в том, что анимация мыши или нажатия происходит на всем дочернем элементе управления родительского ListView, а не на дочерних элементах. Такой макет был бы простым, если бы мне не нужно было поддерживать семантическое масштабирование.
Итак, мой вопрос: это лучший способ добиться такого макета, или я что-то упустил. Если это лучший способ, можно ли управлять поведением, чтобы дочерние элементы элемента имели правильный эффект анимации при выборе?
Дополнительная информация
Выбор GridView или ListView зависит от типа элементов в коллекциях. В этом примере группы 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]
— элемент представления сетки, а [_list_item_] — элемент представления списка.
Уменьшенный вид выглядит так...
Title
grp 1 grp 2 grp 3 grp 4 grp 5
[summary] [summary] [summary] [summary] [summary]