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.

C#
public System.Windows.Media.Media3D.GeneralTransform2DTo3D TransformToAncestor (System.Windows.Media.Media3D.Visual3D ancestor);

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 à

.NET Framework 4.8 et autres versions
Produit Versions
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Windows Desktop 3.0, 3.1, 5, 6, 7

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.

C#
public System.Windows.Media.GeneralTransform TransformToAncestor (System.Windows.Media.Visual ancestor);

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.

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

C#
// 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));

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 .

C#
// 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);

S’applique à

.NET Framework 4.8 et autres versions
Produit Versions
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Windows Desktop 3.0, 3.1, 5, 6, 7