次の方法で共有


Visual.TransformToVisual(Visual) メソッド

定義

Visual から指定したビジュアル オブジェクトに座標を変換するために使用できる変換を返します。

public:
 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

パラメーター

visual
Visual

座標の変換先となる Visual

戻り値

GeneralTransform

GeneralTransform 型の値。

例外

visualnullです。

ビジュアル オブジェクトは相対的ではありません。

次のマークアップの例は、StackPanel オブジェクト内に含まれる TextBlock を示しています。

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

次のコード例は、TransformToVisual メソッドを使用して、その子 TextBlock に対する StackPanel の相対的なオフセットを取得する方法を示します。 オフセット値は、返された GeneralTransform 値内に含まれます。

// 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 値が考慮されます。 この場合、X は -4 で、Y は -4 です。 親オブジェクトは子オブジェクトに対して負のオフセットであるため、オフセット値は負の値です。

注釈

およびTransformToAncestorTransformToDescendantメソッドを使用して、ビジュアル オブジェクトの変換を返すこともできます。

適用対象