Visual.TransformToAncestor Metoda

Definice

Vrátí transformaci, která se dá použít k transformaci souřadnic od Visual zadaného nadřazeného objektu vizuálu.

Přetížení

TransformToAncestor(Visual3D)

Vrátí transformaci, která se dá použít k transformaci souřadnic od Visual zadaného Visual3D nadřazeného objektu vizuálu.

TransformToAncestor(Visual)

Vrátí transformaci, která se dá použít k transformaci souřadnic od Visual zadaného Visual nadřazeného objektu vizuálu.

TransformToAncestor(Visual3D)

Vrátí transformaci, která se dá použít k transformaci souřadnic od Visual zadaného Visual3D nadřazeného objektu vizuálu.

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

Parametry

ancestor
Visual3D

Objekt Visual3D , na který jsou souřadnice transformovány.

Návraty

Transformace, kterou lze použít k transformaci souřadnic z objektu Visual do zadaného Visual3D nadřazeného objektu vizuálu.

Platí pro

TransformToAncestor(Visual)

Vrátí transformaci, která se dá použít k transformaci souřadnic od Visual zadaného Visual nadřazeného objektu vizuálu.

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

Parametry

ancestor
Visual

Objekt Visual , na který jsou souřadnice transformovány.

Návraty

Hodnota typu GeneralTransform.

Výjimky

ancestor je null.

ancestor není předchůdcem vizuálu.

Objekty vizuálu nesouvisejí.

Příklady

Následující příklad značky ukazuje TextBlock objekt, který je vnořený do dvou StackPanel objektů.

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

Následující příklad kódu ukazuje, jak použít metodu TransformToAncestor k načtení posunu TextBlock relativní vzhledem k obsahující Window. Hodnoty posunu jsou obsaženy ve vrácené GeneralTransformhodnotě .

// 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))

Posun bere v Margin úvahu hodnoty pro všechny objekty v rámci obsahující Window. V tomto případě X je 28 a Y 28.

Poznámky

Alternativně můžete použít metodu VisualTreeHelper.GetOffset k načtení posunu objektu vizuálu vzhledem k jeho nadřazené. Hodnoty posunu jsou obsaženy ve vrácené Vector hodnotě.

// 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)

Platí pro