Silverlight のキャンバスで UserControl の位置を取得できません。通常、このコードを使用してオブジェクトの位置を取得すると、正常に機能します。
GeneralTransform gt = this.TransformToVisual(Application.Current.RootVisual as UIElement);
Point offset = gt.Transform(new Point(0, 0));
double controlTop = offset.Y;
double controlLeft = offset.X;
その位置を変換するメソッドを持つ UserControl があります。上記のコードを使用して新しい位置を取得しようとすると、オブジェクトが開始された最初の位置のみが返されます。プログラムでメイン キャンバスに追加された UserControl の新しい位置を取得する方法はありますか? このコードをメインページと UserControl 自体に入れてみました (そしてメソッドを介して公開しました)。