VisualTreeHelper.GetTransform(Visual) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
public:
static System::Windows::Media::Transform ^ GetTransform(System::Windows::Media::Visual ^ reference);
public static System.Windows.Media.Transform GetTransform (System.Windows.Media.Visual reference);
static member GetTransform : System.Windows.Media.Visual -> System.Windows.Media.Transform
Public Shared Function GetTransform (reference As Visual) As Transform
Parameters
Returns
The transform value of the Visual, or null
if reference
does not have a transform defined.
Examples
The following code example shows how to use the GetTransform method to retrieve the transform for the specified visual object.
// Return the transform for the specified visual object.
Transform transform = VisualTreeHelper.GetTransform(myDrawing);
// If there is no transform defined for the object, the return value is null.
if (transform != null)
{
// Return the offset of the returned transform. The offset is relative to the parent of the visual object.
Point pt = transform.Transform(new Point(0, 0));
}
' Return the transform for the specified visual object.
Dim transform As Transform = VisualTreeHelper.GetTransform(myDrawing)
' If there is no transform defined for the object, the return value is null.
If transform IsNot Nothing Then
' Return the offset of the returned transform. The offset is relative to the parent of the visual object.
Dim pt As Point = transform.Transform(New Point(0, 0))
End If
Your code should test for null
before using the returned value. To return the offset of the returned transform, use the Transform method. The offset value is relative to the parent of the Visual.
Remarks
Alternatively, you can use the TransformToAncestor method to return a transform value for the ancestor of a Visual. This method always returns a valid transform. The following code example shows how to use TransformToAncestor method.
// Return the general transform for the specified visual object.
GeneralTransform generalTransform1 = myTextBlock.TransformToAncestor((Visual)myTextBlock.Parent);
// 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(CType(myTextBlock.Parent, Visual))
' Retrieve the point value relative to the parent.
Dim currentPoint As Point = generalTransform1.Transform(New Point(0, 0))