Visual.TransformToAncestor Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve una transformación que se puede usar para transformar las coordenadas del Visual antecesor especificado del objeto visual.
Sobrecargas
| Nombre | Description |
|---|---|
| TransformToAncestor(Visual3D) |
Devuelve una transformación que se puede usar para transformar las coordenadas del Visual antecesor especificado Visual3D del objeto visual. |
| TransformToAncestor(Visual) |
Devuelve una transformación que se puede usar para transformar las coordenadas del Visual antecesor especificado Visual del objeto visual. |
TransformToAncestor(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
Parámetros
Devoluciones
Transformación que se puede usar para transformar coordenadas del Visual antecesor especificado Visual3D del objeto visual.
Se aplica a
TransformToAncestor(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
Parámetros
Devoluciones
Valor de tipo GeneralTransform.
Excepciones
ancestor es null.
ancestor no es un antecesor del objeto visual.
Los objetos visuales no están relacionados.
Ejemplos
En el ejemplo de marcado siguiente se muestra un TextBlock que está anidado dentro de dos StackPanel objetos.
<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>
En el ejemplo de código siguiente se muestra cómo usar el TransformToAncestor método para recuperar el desplazamiento del TextBlock objeto relativo al contenedor Window. Los valores de desplazamiento se encuentran en el devuelto 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))
El desplazamiento tiene en cuenta los Margin valores de todos los objetos de la colección que contiene Window. En este caso, X es 28 y Y es 28.
Comentarios
Como alternativa, puede usar el VisualTreeHelper.GetOffset método para recuperar el desplazamiento de un objeto visual en relación con su elemento primario. Los valores de desplazamiento se encuentran dentro del valor devuelto 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)