2017-03-31 15 views
1

私は画像をラップして画面にズームして画像を移動するピンチとパンジェスチャ認識を使用しています。計算は私がガイドGesture pinch for zoomingGesture pan for movingから取った。パン用Xamarinフォーム要素の境界を計算する

ここでは、簡単な計算例:

// Translate and ensure we don't pan beyond the wrapped user interface element bounds. 
Content.TranslationX = Math.Max(Math.Min(0, xOffset + e.TotalX), -Math.Abs(Content.Width - App.ScreenWidth)); 
Content.TranslationY = Math.Max(Math.Min(0, yOffset + e.TotalY), -Math.Abs(Content.Height - App.ScreenHeight)); 

私はラップ画像で行の上に余分なグリッドの行を追加し、私はズームして、私のグリッド行にスタックします画像を移動させることができたときに問題があります。

この場合、画像の境界をどのように計算できますか?

+0

ジェスチャ認識機能はグリッドまたは画像上にありますか?あなたの問題に言い換えることができますので、問題の内容をより詳しく説明してください。私はその文に従うのに苦労している。 –

+0

ご返信いただき、ありがとうございます。私は私の問題を示すようにしようとします。ここで私は自分のグリッドを持っています[スクリーンショット](http://joxi.ru/L214bd8t41LBmX)上に、最初の行= "0"を持つ矢印Iで。私が上に画像を移動しているとき、それはここのような私の最初のグリッド行をカバーしています[Screenshot](http://joxi.ru/KAxN97KHkOYGm8)それを修正するには? –

答えて

0

任意のコントロールをズームまたは移動する可能性があるためにコンテナを使用している場合は、コンテナのサイズと位置の座標を境界線で移動するようにスケールを制限できます。

Xamarin.Formのグリッドは、構成に従って要素を内側に整列させますが、より近いコントロール変更をrect rectに限定するものではありません。

コンテンツの幅または高さがコンテナの幅または高さ以下であるかどうかを確認する条件を追加するコードでは、

コンテンツの移動と同じです。 Conteiner RectからコンテンツRectが脱落すると、コンテンツの変換が停止します。

関連する問題