Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

Visual.TransformToAncestor (Método) (Visual)

Devuelve una transformación que se puede usar para transformar las coordenadas desde el objeto Visual en el antecesor del objeto Visual especificado del objeto visual.

Espacio de nombres:  System.Windows.Media
Ensamblado:  PresentationCore (en PresentationCore.dll)

public GeneralTransform TransformToAncestor(
	Visual ancestor
)

Parámetros

ancestor
Tipo: System.Windows.Media.Visual
Objeto Visual en el que se transforman las coordenadas.

ExcepciónCondición
ArgumentNullException

El valor de ancestor es null.

ArgumentException

El objeto ancestor no es ningún antecesor del objeto visual.

InvalidOperationException

Los objetos visuales no están relacionados.

O bien, puede usar el método VisualTreeHelper.GetOffset para recuperar el desplazamiento de un objeto visual relativo a su objeto primario. Los valores de desplazamiento se encuentran en el valor de Vector devuelto.


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


En el ejemplo de marcado siguiente se muestra un objeto TextBlock anidado en dos objetos StackPanel.


<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 siguiente ejemplo de código se muestra cómo utilizar el método TransformToAncestor para recuperar el desplazamiento del objeto TextBlock respecto al objeto Window contenedor. Los valores de desplazamiento se encuentran en el objeto GeneralTransform devuelto.


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


El desplazamiento tiene en cuenta los valores de la propiedad Margin de todos los objetos del objeto Window contendor. En este caso, el valor de X es 28 y el valor de Y es 28.

.NET Framework

Compatible con: 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft