0

我制作了一个非常宽的网格,其中包含多行和多列,并用按钮填充了网格(没有垂直滚动)。所有这些都包含在一个全景项目中。大约。水平滚动时需要 3 个屏幕宽度来覆盖整个网格(大约 1500 像素宽)。

所以问题是当用户在全景中轻弹屏幕时 - 它会从全景项目的开头一直跳到它的结尾。所以实际上只有网格的最左侧和最右侧可供用户使用(只有当他滚动非常慢时,他才能到达中间的其余内容)。

理想情况下,我将拥有三个全景项目,内容重叠在所有项目上——因此可以通过两部轻弹查看内容——但我无法做到这一点。是否可以将网格重叠在 3 个全景项目上?或者,是否有可能以某种方式在中间添加某种停止或划分我当前拥有的一个全景项目,以便屏幕在中间某处停止?

我找不到超过 2 个屏幕的任何示例,并且包装对我不起作用 - 我想要一个固定的高度,我不能让按钮的宽度更小。无论如何,我什至不知道是否有可能实现这一切?也许我正在过度使用全景功能......

谢谢

编辑:

这将是我的问题的一个示例(我有超过 100 个按钮,因此 xaml 代码非常大,但这是我要解决的相同基本问题):

<controls:PanoramaItem Header="first item" Orientation="Horizontal">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto" />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="500" />
                    <ColumnDefinition Width="500" />
                    <ColumnDefinition Width="500" />
                </Grid.ColumnDefinitions>
                <Button Grid.Row="0"
                        Grid.Column="0"
                        Width="250"
                        Height="250"
                        Content="Button1" />
                <Button Grid.Row="0"
                        Grid.Column="1"
                        Width="250"
                        Height="250"
                        Content="Button2" />
                <Button Grid.Row="0"
                        Grid.Column="2"
                        Width="250"
                        Height="250"
                        Content="Button3" />
            </Grid>             
        </controls:PanoramaItem>

所以如果你把它放到你的全景控件中——你会得到一个非常宽的全景项目——如果你从 Button1 轻弹它,它会一直跳到 Button3 的最右边——所以它会滚动你经过 Button2...我想要它停止在 Button2 上滚动。

4

2 回答 2

0

您可能需要调查将 PanoramaItem 的 Orientation 属性设置为 Horizo​​ntal,这应该会产生您正在寻找的效果:-

            <controls:PanoramaItem Header="first item" Orientation="Horizontal">
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto" />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="Auto" />
                </Grid.ColumnDefinitions>
                <Button Grid.Row="0"
                        Grid.Column="0"
                        Width="250"
                        Height="250"
                        Content="Button1" />
                <Button Grid.Row="0"
                        Grid.Column="1"
                        Width="250"
                        Height="250"
                        Content="Button2" />
                <Button Grid.Row="0"
                        Grid.Column="2"
                        Width="250"
                        Height="250"
                        Content="Button3" />
            </Grid>             
        </controls:PanoramaItem>

希望这可以帮助。

保罗·迪斯顿

于 2012-03-19T17:20:24.373 回答
0

好的,我对这个问题进行了研究,答案是我真的过度拉伸全景项目功能。

因此,如果有人想要实现我想要实现的目标——即让一个全景项目延伸超过 3 个屏幕宽度——最好的方法是制作 3 个单独的全景项目并尝试设置每个项目的边距一个手动的,所以用户感觉他正在浏览同一个全景项目(从一个无缝切换到另一个)。

换句话说,一个全景项目针对最大 2 个屏幕宽度进行了优化,这就是我的答案。任何超过 2 个屏幕的内容,您都会失去轻弹手势行为,因此您会在中间丢失该内容。

于 2012-03-29T06:04:29.487 回答