-->

FlipView变焦(FlipView with zoom)

2019-10-21 11:41发布

我有使用问题FlipView使用前实现我的捏缩放功能FlipView 。 之前我实现FlipView我刚装入单个Image ,让用户使用两个按钮来改变它。 这是不是很人性化的,所以我决定用刷卡FlipView的功能。 我设法实现FlipView并能正常工作。 这里是我的代码示例:

    private void downloadImage(int position)
    {
        MyWebClient wc;
        wc = new MyWebClient(); //I just added int actualDownloadedImagePosition field to know loading of which image has finished
        wc.OpenReadCompleted += new OpenReadCompletedEventHandler(wc_OpenReadCompleted);

        String url;
        wc.actualDownloadedImagePosition = position;
        url = URL+position+".jpg";

        wc.OpenReadAsync(new Uri(url), wc);

    }
    private void wc_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
    {
        if (e.Error == null && !e.Cancelled)
        {
            try
            {   

                BitmapImage image = new BitmapImage();
                image.SetSource(e.Result);
                Image im = new Image();
                im.Source=image;
                int pos = (((MyWebClient)sender).actualDownloadedImagePosition);
                flip.Items.Insert(pos-1, im); //Is this BTW right solution?
            }
            catch (Exception ex)
            {
            }
        }
    }

downloadImage()在启动了第一个图像被执行时,其他人都在未来下载(当通过它们用户刷卡)。

当我不使用FlipView我只可以使用在XAML代码(当然适当的代码.cs文件):

    <Image
        Name="foto"
        HorizontalAlignment="Stretch"
        VerticalAlignment="Center"
        Margin="0,40,0,20"                  
        RenderTransformOrigin="0,0"
        Height="800"
        Stretch="Uniform"
        >
        <toolkit:GestureService.GestureListener>
            <toolkit:GestureListener
                PinchStarted="OnPinchStarted"
                PinchDelta="OnPinchDelta"
                DragDelta="OnDragDelta"
                DoubleTap="OnDoubleTap"/>
        </toolkit:GestureService.GestureListener>
        <Image.RenderTransform>
            <CompositeTransform
                ScaleX="1" ScaleY="1"
                TranslateX="0" TranslateY="0"/>
        </Image.RenderTransform>

    </Image>

但现在我不知道怎么做是正确的。 我尝试使用ItemTemplate和其他一些解决方案,但我真的不知道应该如何工作。 谁能帮我? :)

文章来源: FlipView with zoom