所以我有一个需要帮助的编码问题,简单地说我不知道我在做什么。仅供参考,我没有将工具包与手势侦听器一起使用。
我有一个包含 3 个全景项目的全景页面:BigImageCenter、BigImageLeft、BigImageRight。
在我的应用程序中有一堆图像,这些图像将随应用程序一起下载。这个全景页面的目标是在页面底部设置一个滚动查看器,以小缩略图显示应用程序附带的整个图像列表,页面的顶部是全景项目,如果你向左或向右轻拂 图像有条不紊地在列表中前进(如果向左轻拂,则返回)。
此外,如果您在底部滚动查看器中点击其中一个缩略图,它将用该缩略图图像替换当前的全景图像。如果您在全景页面上向左或向右滑动,您将在数组中获得该缩略图的 -1 或 +1。
您在页面上看到的第一个图像是 BigImageCenter。
我不必使用 3 个全景项目,我可能只用 1 个就可以逃脱。但是,当我只用 1 个测试它时,在我通过单击缩略图并左右滑动全景图来更改图像后,下一个即将在屏幕上加载的图像在更改之前始终是相同的图像(有道理,因为我没有编写任何数组来动态更改下一个图像等)。
但是我不知道如何执行以下任何操作:
1) 创建一个数组,其中全景项中的第一张图像设置为 X。 2) 判断用户在数组中向左或向右滑动到 -1 或 +1 3) 设置缩略图以替换当前全景图像点击,然后将数组扔到该缩略图位置。
这是全景控件和缩略图滚动查看器的 XAML:
<Grid x:Name="ControlPanel" Grid.Row="1" Margin="-8,-22,-49,90">
<controls:Panorama Name="Image_Panorama" Height="auto" Width="auto">
<!--Panorama item one-->
<controls:PanoramaItem>
<Rectangle Height="auto" Width="auto" x:Name="BigImageCenter">
<Rectangle.Fill>
<ImageBrush ImageSource="image030.jpg" />
</Rectangle.Fill>
</Rectangle>
</controls:PanoramaItem>
<controls:PanoramaItem>
<Rectangle Height="auto" Width="auto" x:Name="BigImageLeft">
<Rectangle.Fill>
<ImageBrush ImageSource="pics/image002.jpg" />
</Rectangle.Fill>
</Rectangle>
</controls:PanoramaItem>
<controls:PanoramaItem>
<Rectangle Height="auto" Width="auto" x:Name="BigImageRight">
<Rectangle.Fill>
<ImageBrush ImageSource="pics/image003.jpg" />
</Rectangle.Fill>
</Rectangle>
</controls:PanoramaItem>
</controls:Panorama>
</Grid>
<Grid x:Name="MiniPicturePanel" Grid.Row="1" Margin="0,390,0,0">
<ScrollViewer x:Name="svSmall" Grid.Row="1" HorizontalContentAlignment="Center">
<StackPanel x:Name="smallImages" Orientation="Horizontal" VerticalAlignment="Bottom" Margin="330,0,0,0">
<Rectangle Height="70" Width="110" Margin="0,0,30,0" StrokeThickness="3" MouseLeftButtonUp="smallImage_Tap" Stroke="#FF004080" x:Name="Bat1">
<Rectangle.Fill>
<ImageBrush ImageSource="image030.jpg" />
</Rectangle.Fill>
</Rectangle>
<Rectangle Height="70" Width="110" Margin="0,0,30,0" StrokeThickness="3" MouseLeftButtonUp="smallImage_Tap" Stroke="#FF004080" x:Name="Bat2">
<Rectangle.Fill>
<ImageBrush ImageSource="pics\image002.jpg" />
</Rectangle.Fill>
</Rectangle>
....等等
现在我做了一些事情,但不是我想要的方式:
MouseLeftButtonUp="smallImage_Tap" 是一个函数,它将“BigImageCenter”的全景项目更改为矩形的当前 image.fill。我只是无法对其进行编码以更改当前视图中的数据透视项目。我需要帮助。
private void smallImage_Tap(object sender, RoutedEventArgs e) {
BigImageCenter.Fill = (sender as Rectangle).Fill;
如果您想知道我为什么要使用矩形,这是我在点击较小的缩略图时使用后面的代码更改图像的最简单方法。
这几乎就是我的代码隐藏。我实际上是从头开始进行这种动态编码,并且需要一些帮助来实现这个梦想。
PS:我还需要知道与图像相关的数组编号,以便我可以允许用户“收藏”它并将其放置在另一个页面中。