Langue

Visual.TransformToAncestor Méthode

Définition

Retourne une transformation qui peut être utilisée pour transformer les coordonnées de l’ancêtre Visual spécifié de l’objet visuel.

Surcharges

Nom Description
TransformToAncestor(Visual3D)

Retourne une transformation qui peut être utilisée pour transformer les coordonnées de l’ancêtre Visual spécifié Visual3D de l’objet visuel.

TransformToAncestor(Visual)

Retourne une transformation qui peut être utilisée pour transformer les coordonnées de l’ancêtre Visual spécifié Visual de l’objet visuel.

TransformToAncestor(Visual3D)

Retourne une transformation qui peut être utilisée pour transformer les coordonnées de l’ancêtre Visual spécifié Visual3D de l’objet visuel.

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

Paramètres

ancestor
Visual3D

Visual3D À laquelle les coordonnées sont transformées.

Retours

Transformation qui peut être utilisée pour transformer les coordonnées de l’ancêtre Visual spécifié Visual3D de l’objet visuel.

S’applique à

TransformToAncestor(Visual)

Retourne une transformation qui peut être utilisée pour transformer les coordonnées de l’ancêtre Visual spécifié Visual de l’objet visuel.

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

Paramètres

ancestor
Visual

Visual À laquelle les coordonnées sont transformées.

Retours

Valeur de type GeneralTransform.

Exceptions

ancestor a la valeur null.

ancestor n’est pas un ancêtre du visuel.

Les objets visuels ne sont pas liés.

Exemples

L’exemple de balisage suivant montre un TextBlock imbriqué dans deux StackPanel objets.

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

L’exemple de code suivant montre comment utiliser la TransformToAncestor méthode pour récupérer le décalage du TextBlock par rapport au conteneur Window. Les valeurs de décalage sont contenues dans le fichier retourné 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))

Le décalage prend en compte les Margin valeurs de tous les objets dans le conteneur Window. Dans ce cas, X est 28, et Y est 28.

Remarques

Vous pouvez également utiliser la VisualTreeHelper.GetOffset méthode pour récupérer le décalage d’un objet visuel par rapport à son parent. Les valeurs de décalage sont contenues dans la valeur retournée 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)

S’applique à