Visual.TransformToVisual(Visual) Method

Definition

Devuelve una transformación que se puede usar para transformar las coordenadas desde el objeto Visual en el objeto visual especificado.Returns a transform that can be used to transform coordinates from the Visual to the specified visual object.

public:
 System::Windows::Media::GeneralTransform ^ TransformToVisual(System::Windows::Media::Visual ^ visual);
public System.Windows.Media.GeneralTransform TransformToVisual (System.Windows.Media.Visual visual);
member this.TransformToVisual : System.Windows.Media.Visual -> System.Windows.Media.GeneralTransform
Public Function TransformToVisual (visual As Visual) As GeneralTransform

Parameters

visual
Visual

Objeto Visual en el las coordenadas se transforman.The Visual to which the coordinates are transformed.

Returns

GeneralTransform

Valor de tipo GeneralTransform.A value of type GeneralTransform.

Exceptions

visual es null.visual is null.

Los objetos visuales no están relacionados.The visual objects are not related.

Examples

En el ejemplo de marcación siguiente se muestra un TextBlock que se encuentra dentro de un objeto StackPanel.The following markup example shows a TextBlock that is contained within a StackPanel object.

<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 utilizar el método TransformToVisual para recuperar el desplazamiento de la StackPanel relativa a su TextBlocksecundaria.The following code example shows how to use the TransformToVisual method to retrieve the offset of the StackPanel relative to its child TextBlock. Los valores de desplazamiento están incluidos dentro del valor de GeneralTransform devuelto.The offset values are contained within the returned GeneralTransform value.

// Return the general transform for the specified visual object.
GeneralTransform generalTransform1 = myStackPanel.TransformToVisual(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.TransformToVisual(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 valores de Margin de todos los objetos.The offset takes into account the Margin values for all objects. En este caso, X es-4 y Y es-4.In this case, X is -4, and Y is -4. Los valores de desplazamiento son valores negativos porque el objeto primario se desplaza negativamente con respecto a su objeto secundario.The offset values are negative values because the parent object is negatively offset relative to its child object.

Remarks

Los métodos TransformToAncestor y TransformToDescendant también se pueden usar para devolver una transformación para un objeto visual.The TransformToAncestor and TransformToDescendant methods can also be used to return a transform for a visual object.

Applies to