XAML ScrollViewerを使用して画像にピンチズームを「安く」追加しようとしています。しかし、問題を回避するには、画像の周りをパニングするとき、それは一番左にスナップし続けます。私はそれを右にスライドすると、それはうまく見えますが、2番目の私はイメージを解放すると、それは左にスナップします。画像ピンチズームにScrollViewerを使用すると、パンにスナップが残ります
この問題は水平方向にしか維持されません。垂直方向のパンニングの場合、正常に動作します。
私はこれを最も簡単なテストケースに抽象化し、それはそのままです。私のXAMLコードは次のとおりです。
<ScrollViewer>
<Image Source="http://i.imgur.com/1WlGT.jpg" />
</ScrollViewer>
助けていただければ幸いです。
を使用してこれは、ScrollViewerの内の画像の初期サイズを破るようです。可視性を設定しないと、スクロールビューアの横幅を埋めるように画像が拡大/縮小されます。ソリューションを適用した後、イメージの初期表示はコンテナよりも大きくなります。 –
上記の問題が発生した場合は、画像の開始幅をスクロールビュービューポートの幅に設定します。Image.Width = ImageScrollViewer.ViewportWidth; –
このアドバイスを拡張すると、ビューポートが確立された後でImage.Widthを設定する必要があります。私はそのためにLayoutUpdatedイベントを使用しました。 –