Visual.TransformToDescendant(Visual) メソッド

定義

Visual から指定したビジュアル オブジェクトの子孫に座標を変換するために使用できる変換を返します。Returns a transform that can be used to transform coordinates from the Visual to the specified visual object descendant.

public:
 System::Windows::Media::GeneralTransform ^ TransformToDescendant(System::Windows::Media::Visual ^ descendant);
public System.Windows.Media.GeneralTransform TransformToDescendant (System.Windows.Media.Visual descendant);
member this.TransformToDescendant : System.Windows.Media.Visual -> System.Windows.Media.GeneralTransform
Public Function TransformToDescendant (descendant As Visual) As GeneralTransform

パラメーター

descendant
Visual

座標の変換先となる VisualThe Visual to which the coordinates are transformed.

戻り値

GeneralTransform

GeneralTransform 型の値。A value of type GeneralTransform.

例外

descendantnull です。descendant is null.

ビジュアルは、descendant ビジュアルの先祖ではありません。The visual is not an ancestor of the descendant visual.

ビジュアル オブジェクトは相対的ではありません。The visual objects are not related.

次のマークアップの例は、StackPanel オブジェクト内に含まれる TextBlock を示しています。The following markup example shows a TextBlock that is contained within a StackPanel object.

<StackPanel Name="myStackPanel" Margin="8">
  <TextBlock Name="myTextBlock" Margin="4" Text="Hello, world" />
</StackPanel>

次のコード例では、TransformToDescendant メソッドを使用して、その子 TextBlockに対する StackPanel のオフセットを取得する方法を示します。The following code example shows how to use the TransformToDescendant method to retrieve the offset of the StackPanel relative to its child TextBlock. オフセット値は、返された GeneralTransform 値内に含まれます。The offset values are contained within the returned GeneralTransform value.

// Return the general transform for the specified visual object.
GeneralTransform generalTransform1 = myStackPanel.TransformToDescendant(myTextBlock);

// Retrieve the point value relative to the child.
Point currentPoint = generalTransform1.Transform(new Point(0, 0));
' Return the general transform for the specified visual object.
Dim generalTransform1 As GeneralTransform = myStackPanel.TransformToDescendant(myTextBlock)

' Retrieve the point value relative to the child.
Dim currentPoint As Point = generalTransform1.Transform(New Point(0, 0))

オフセットでは、すべてのオブジェクトの Margin 値が考慮されます。The offset takes into account the Margin values for all objects. この場合、X は-4、Y は-4 です。In this case, X is -4, and Y is -4. 親オブジェクトはその子オブジェクトを基準とした負のオフセットであるため、オフセット値は負の値です。The offset values are negative values because the parent object is negatively offset relative to its child object.

適用対象