Visual.TransformToAncestor Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zwraca przekształcenie, które może służyć do przekształcania współrzędnych z Visual do określonego przodka obiektu wizualizacji.
Przeciążenia
| TransformToAncestor(Visual3D) |
Zwraca przekształcenie, które może służyć do przekształcania współrzędnych z Visual do określonego Visual3D przodka obiektu wizualizacji. |
| TransformToAncestor(Visual) |
Zwraca przekształcenie, które może służyć do przekształcania współrzędnych z Visual do określonego Visual przodka obiektu wizualizacji. |
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
Parametry
Zwraca
Przekształcenie, które może służyć do przekształcania współrzędnych z Visual obiektu na określony Visual3D element nadrzędny obiektu wizualizacji.
Dotyczy
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
Parametry
Zwraca
Wartość typu GeneralTransform.
Wyjątki
ancestor to null.
ancestor nie jest elementem nadrzędnym wizualizacji.
Obiekty wizualne nie są powiązane.
Przykłady
Poniższy przykład znaczników przedstawia TextBlock obiekt zagnieżdżony w dwóch StackPanel obiektach.
<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>
W poniższym przykładzie kodu pokazano, jak za pomocą TransformToAncestor metody pobrać przesunięcie TextBlock względem obiektu zawierającego Windowelement . Wartości przesunięcia są zawarte w zwracanym GeneralTransformobiekcie .
// 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))
Przesunięcie uwzględnia Margin wartości dla wszystkich obiektów w obiekcie zawierającym Windowwartość . W tym przypadku X wartość wynosi 28 i Y wynosi 28.
Uwagi
Alternatywnie możesz użyć VisualTreeHelper.GetOffset metody , aby pobrać przesunięcie obiektu wizualnego względem jego obiektu nadrzędnego. Wartości przesunięcia są zawarte w zwróconej Vector wartości.
// 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)