Windows phone 7 如何在3个屏幕上显示全景项目中的大型按钮网格?

Windows phone 7 如何在3个屏幕上显示全景项目中的大型按钮网格?,windows-phone-7,windows-phone-7.1,panorama-control,Windows Phone 7,Windows Phone 7.1,Panorama Control,我制作了一个包含多行和多列的非常宽的网格,并用按钮填充网格(没有垂直滚动)。所有这些都包含在一个全景项目中。水平滚动时,大约需要3个屏幕宽度来覆盖整个网格(约1500像素宽) 所以问题是当用户在全景中轻弹屏幕时,它会从全景项目的开头一直跳到它的结尾。因此,实际上,用户只能使用网格的最左侧和最右侧(只有当用户滚动速度非常慢时,才能访问中间的其余内容) 理想情况下,我会有三个全景项目,所有项目的内容重叠-因此内容可以通过两个电影查看-但我无法实现这一点。是否可以在3个全景项目上重叠网格?或者,也许有

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

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

理想情况下,我会有三个全景项目,所有项目的内容重叠-因此内容可以通过两个电影查看-但我无法实现这一点。是否可以在3个全景项目上重叠网格?或者,也许有可能不知何故在中间添加某种停止或分割我当前拥有的一个全景项目,以便屏幕停止在中间的某个地方?

我找不到任何超过2个屏幕的例子,而且包装对我来说不起作用——我想要一个固定的高度,我不能让按钮的宽度变小。不管怎样,我甚至不知道有没有可能实现这一切?也许我在夸大全景的能力

多谢各位

编辑:

这就是我的问题的一个例子(我有100多个按钮,因此xaml代码非常大,但这与我试图解决的基本问题相同):



因此,如果你把它放到你的全景控件中,你会得到一个非常宽的全景项目,如果你从按钮1轻弹它,它会一直跳到按钮3的最右边,所以它会滚动你经过按钮2。。。我希望它停止在按钮2上滚动。

您可能需要研究将全景项目的“方向”属性设置为“水平”,这将产生您想要的效果:-

            <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>

希望这有帮助


保罗·迪斯顿(Paul Diston)

好的,我对这个问题进行了研究,答案是我确实超出了全景项目的能力

所以,如果你想达到我想要达到的效果,那就是让一个全景项目延伸到3个屏幕宽度上,最好的方法是制作3个单独的全景项目,并尝试手动设置每个项目的边距,这样用户就感觉他在浏览同一个全景项目(从一个无缝切换到另一个)


P.>换句话说,一个全景项目被优化为最大2个屏幕宽度,这就是我的答案。超过2个屏幕的任何东西,你松动轻击的手势行为,所以你失去了中间的内容。

我确实将项目的方向设置为水平,但是这并没有起作用。如果你以你的例子来改变Y的宽度。我们的3列从“自动”到“固定”——每列宽500像素——你应该会看到我的问题:第一个按钮是可见的,如果你轻弹屏幕,你会跳到第三个按钮——跳过第二个按钮。你能提供一些XAML来重现你的体验吗?我在问题中加入了一个简短的XAML示例——我修改了你的c这样你就可以看到问题了。
            <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>