ズームを実装し、子アイテムを持つキャンバス (ZoomableCanvas) があります。拡張情報を表示するために、ズームイン時に子アイテムの相対位置を取得しようとしています。
<Canvas x:Name="CanvasContainer" Width="1500" Height="780">
<ZoomableCanvas ApplyTransform="false" Loaded="ZoomableCanvas_Loaded" x:Name="ShareCanvas" Width="1500" Height="780" MinWidth="1500" MinHeight="780" Grid.Row="0" Grid.Column="0" />
</Canvas>
コードビハインド:
Canvas main = touched.FindVisualParent<Canvas>(); //Finds "CanvasContainer"
Point relativePoint = touched.TransformToAncestor(main).Transform(new Point(0, 0));
double canvasTop = Canvas.GetTop(touched);
しかし、ここで canvasTop != relativePoint.Y ズームする前に?
私はこれを間違って使用していますか?親ビジュアルにマップして、相対的なポイントを与えませんか?