Visual.TransformToAncestor Méthode

Définition

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

Surcharges

TransformToAncestor(Visual3D)

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

TransformToAncestor(Visual)

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

TransformToAncestor(Visual3D)

Retourne une transformation qui peut être utilisée pour transformer les coordonnées du Visual dans l'ancêtre Visual3D spécifié 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

Le Visual3D auquel les coordonnées sont transformées.

Retours

GeneralTransform2DTo3D

Une transformation qui peut être utilisée pour transformer les coordonnées du Visual dans l'ancêtre Visual3D spécifié de l'objet visuel.

S’applique à

TransformToAncestor(Visual)

Retourne une transformation qui peut être utilisée pour transformer les coordonnées du Visual dans l'ancêtre Visual spécifié 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

Le Visual auquel les coordonnées sont transformées.

Retours

GeneralTransform

Valeur de type GeneralTransform.

Exceptions

ancestor a la valeur null.

ancestor n'est pas un ancêtre de l'objet visuel.

Les objets visuels ne sont pas liés.

Exemples

L’exemple de balisage suivant montre un TextBlock élément 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 retour 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 à