Реализовать Semantic Zoom без просмотра списка, Gridview?

Я пытаюсь реализовать управление семантическим масштабированием, но не с помощью списка, Gridview или группировки. Мой пользовательский интерфейс имеет следующий XAML

Приблизить

<!--Your ZoomIn view here-->
                <ScrollViewer>
                    <StackPanel>
                        <Grid x:Name="Item1" />
                        <Grid x:Name="Item2" />
                        <Grid x:Name="Item3" />
                        <Grid x:Name="Item4" />
                        <Grid x:Name="Item5" />
                    </StackPanel>
                </ScrollViewer>

Уменьшить

         <!--Your ZoomOut view here-->
            <ScrollViewer>
                <StackPanel>
                    <Image x:Name="ImageItem1" />
                    <Image x:Name="ImageItem2" />
                    <Image x:Name="ImageItem3" />
                    <Image x:Name="ImageItem4" />
                    <Image x:Name="ImageItem5" />
                </StackPanel>
            </ScrollViewer>

При нажатии на изображение в Zoomout оно должно перейти к соответствующей сетке в представлении Zoomin.

Как я могу достичь этого? До сих пор я реализовал семантическое масштабирование с использованием списка, сетки и группирования.

1 ответ

Решение

Это небрежно использовать элемент управления, как SemanticZoom для элементов управления он не предназначен для использования.

Сказав это, вы можете сделать это:

<SemanticZoom>
    <SemanticZoom.ZoomedInView>
        <GridView>
            <GridView.Header>
                <StackPanel>
                    <TextBlock>One</TextBlock>
                    <TextBlock>Two</TextBlock>
                    <TextBlock>Three</TextBlock>
                </StackPanel>
            </GridView.Header>
        </GridView>
    </SemanticZoom.ZoomedInView>
    <SemanticZoom.ZoomedOutView>
        <GridView>
            <GridView.Header>
                <StackPanel>
                    <TextBlock>Four</TextBlock>
                    <TextBlock>Five</TextBlock>
                    <TextBlock>Six</TextBlock>
                </StackPanel>
            </GridView.Header>
        </GridView>
    </SemanticZoom.ZoomedOutView>
</SemanticZoom>

Удачи!

Другие вопросы по тегам