Visual.TransformToVisual(Visual) メソッド


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

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



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



GeneralTransform 型の値。A value of type GeneralTransform.


visualnull です。visual is null.

ビジュアル オブジェクトは相対的ではありません。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" />

次のコード例では、TransformToVisual メソッドを使用して、その子 TextBlockに対する StackPanel のオフセットを取得する方法を示します。The following code example shows how to use the TransformToVisual 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.TransformToVisual(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.TransformToVisual(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.


TransformToAncestor メソッドと TransformToDescendant メソッドを使用して、ビジュアルオブジェクトの変換を返すこともできます。The TransformToAncestor and TransformToDescendant methods can also be used to return a transform for a visual object.