Visual.TransformToAncestor Visual.TransformToAncestor Visual.TransformToAncestor Visual.TransformToAncestor Method

定義

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

オーバーロード

TransformToAncestor(Visual3D) TransformToAncestor(Visual3D) TransformToAncestor(Visual3D) TransformToAncestor(Visual3D)

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

TransformToAncestor(Visual) TransformToAncestor(Visual) TransformToAncestor(Visual) TransformToAncestor(Visual)

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

TransformToAncestor(Visual3D) TransformToAncestor(Visual3D) TransformToAncestor(Visual3D) TransformToAncestor(Visual3D)

Visual からビジュアル オブジェクトの指定した 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

パラメーター

ancestor
Visual3D Visual3D Visual3D Visual3D

座標の変換先となる Visual3D

戻り値

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

TransformToAncestor(Visual) TransformToAncestor(Visual) TransformToAncestor(Visual) TransformToAncestor(Visual)

Visual からビジュアル オブジェクトの指定した 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

パラメーター

ancestor
Visual Visual Visual Visual

座標の変換先となる Visual

戻り値

例外

ancestor は、ビジュアルの先祖ではありません。

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

次のマークアップ例は、TextBlock内で 2 つの入れ子になっているStackPanelオブジェクト。

<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のオフセットを取得するメソッドをTextBlock含むの基準としたWindowします。 オフセット値が含まれている、返される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))

オフセットがアカウントには、Marginコンテナー内のすべてのオブジェクトの値Windowします。 この場合、 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)

適用対象