Visual.TransformToDescendant(Visual) Visual.TransformToDescendant(Visual) Visual.TransformToDescendant(Visual) Visual.TransformToDescendant(Visual) Method


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

 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


Visual Visual Visual Visual

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



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

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

次のマークアップの例TextBlockは、 StackPanelオブジェクト内に含まれるを示しています。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" />

次のコード例は、 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.