Visual.TransformToAncestor メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Visual から指定したビジュアル オブジェクトの先祖に座標を変換するために使用できる変換を返します。
オーバーロード
TransformToAncestor(Visual3D) |
Visual からビジュアル オブジェクトの指定した Visual3D の先祖に座標を変換するために使用できる変換を返します。 |
TransformToAncestor(Visual) |
Visual からビジュアル オブジェクトの指定した Visual の先祖に座標を変換するために使用できる変換を返します。 |
TransformToAncestor(Visual3D)
public:
System::Windows::Media::Media3D::GeneralTransform2DTo3D ^ TransformToAncestor(System::Windows::Media::Media3D::Visual3D ^ ancestor);
public System.Windows.Media.Media3D.GeneralTransform2DTo3D TransformToAncestor (System.Windows.Media.Media3D.Visual3D ancestor);
member this.TransformToAncestor : System.Windows.Media.Media3D.Visual3D -> System.Windows.Media.Media3D.GeneralTransform2DTo3D
Public Function TransformToAncestor (ancestor As Visual3D) As GeneralTransform2DTo3D
パラメーター
戻り値
Visual からビジュアル オブジェクトの指定した Visual3D の先祖に座標を変換するために使用できる変換。
適用対象
TransformToAncestor(Visual)
public:
System::Windows::Media::GeneralTransform ^ TransformToAncestor(System::Windows::Media::Visual ^ ancestor);
public System.Windows.Media.GeneralTransform TransformToAncestor (System.Windows.Media.Visual ancestor);
member this.TransformToAncestor : System.Windows.Media.Visual -> System.Windows.Media.GeneralTransform
Public Function TransformToAncestor (ancestor As Visual) As GeneralTransform
パラメーター
戻り値
GeneralTransform 型の値。
例外
ancestor
が null
です。
ancestor
は、ビジュアルの先祖ではありません。
ビジュアル オブジェクトは相対的ではありません。
例
次のマークアップの例は、2 つの StackPanel オブジェクト内で入れ子になっている TextBlock を示しています。
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
<StackPanel Margin="16">
<StackPanel Margin="8">
<TextBlock Name="myTextBlock" Margin="4" Text="Hello, world" />
</StackPanel>
</StackPanel>
</Window>
次のコード例は、TransformToAncestor メソッドを使用して、含まれている Window に対する TextBlock 相対的なオフセットを取得する方法を示しています。 オフセット値は、返される GeneralTransformに含まれています。
// Return the general transform for the specified visual object.
GeneralTransform generalTransform1 = myTextBlock.TransformToAncestor(this);
// Retrieve the point value relative to the parent.
Point currentPoint = generalTransform1.Transform(new Point(0, 0));
' Return the general transform for the specified visual object.
Dim generalTransform1 As GeneralTransform = myTextBlock.TransformToAncestor(Me)
' Retrieve the point value relative to the parent.
Dim currentPoint As Point = generalTransform1.Transform(New Point(0, 0))
オフセットでは、オブジェクトが含まれる Window 内のすべてのオブジェクトの Margin 値が考慮されます。 この場合、 X は 28 で、 Y 28 です。
注釈
または、 メソッドを VisualTreeHelper.GetOffset 使用して、親に対する相対的なビジュアル オブジェクトのオフセットを取得することもできます。 オフセット値は、返された Vector 値内に含まれます。
// Return the offset vector for the TextBlock object.
Vector vector = VisualTreeHelper.GetOffset(myTextBlock);
// Convert the vector to a point value.
Point currentPoint = new Point(vector.X, vector.Y);
' Return the offset vector for the TextBlock object.
Dim vector As Vector = VisualTreeHelper.GetOffset(myTextBlock)
' Convert the vector to a point value.
Dim currentPoint As New Point(vector.X, vector.Y)
適用対象
.NET