Visual.TransformToDescendant(Visual) 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 de Visual a la descendiente del objeto visual especificado.
public:
System::Windows::Media::GeneralTransform ^ TransformToDescendant(System::Windows::Media::Visual ^ descendant);
public System.Windows.Media.GeneralTransform TransformToDescendant(System.Windows.Media.Visual descendant);
member this.TransformToDescendant : System.Windows.Media.Visual -> System.Windows.Media.GeneralTransform
Public Function TransformToDescendant (descendant As Visual) As GeneralTransform
Parámetros
Devoluciones
Valor de tipo GeneralTransform.
Excepciones
descendant es null.
El objeto visual no es un antecesor del descendant objeto visual.
Los objetos visuales no están relacionados.
Ejemplos
En el ejemplo de marcado siguiente se muestra un TextBlock que se encuentra dentro de un StackPanel objeto .
<StackPanel Name="myStackPanel" Margin="8">
<TextBlock Name="myTextBlock" Margin="4" Text="Hello, world" />
</StackPanel>
En el ejemplo de código siguiente se muestra cómo usar el TransformToDescendant método para recuperar el desplazamiento del StackPanel objeto relativo a su elemento secundario TextBlock. Los valores de desplazamiento se encuentran dentro del valor devuelto GeneralTransform .
// Return the general transform for the specified visual object.
GeneralTransform generalTransform1 = myStackPanel.TransformToDescendant(myTextBlock);
// Retrieve the point value relative to the child.
Point currentPoint = generalTransform1.Transform(new Point(0, 0));
' Return the general transform for the specified visual object.
Dim generalTransform1 As GeneralTransform = myStackPanel.TransformToDescendant(myTextBlock)
' Retrieve the point value relative to the child.
Dim currentPoint As Point = generalTransform1.Transform(New Point(0, 0))
El desplazamiento tiene en cuenta los Margin valores de todos los objetos. En este caso, X es -4 y Y es -4. Los valores de desplazamiento son valores negativos porque el objeto primario se desplaza negativamente con respecto a su objeto secundario.