1

FlipViewを使用する前に実装したピンチズーム機能の使用に問題がありFlipViewます。実装する前に、FlipViewシングルをロードImageして、ユーザーが 2 つのボタンを使用して変更できるようにしました。あまりユーザーフレンドリーではなかったので、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してみましたが、どのように機能するのか本当にわかりません。誰でも私を助けることができますか?:)

4

0 に答える 0