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)