Visual.TransformToAncestor Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí transformaci, která se dá použít k transformaci souřadnic od Visual zadaného nadřazeného objektu vizuálu.
Přetížení
TransformToAncestor(Visual3D) |
Vrátí transformaci, která se dá použít k transformaci souřadnic od Visual zadaného Visual3D nadřazeného objektu vizuálu. |
TransformToAncestor(Visual) |
Vrátí transformaci, která se dá použít k transformaci souřadnic od Visual zadaného Visual nadřazeného objektu vizuálu. |
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
Návraty
Transformace, kterou lze použít k transformaci souřadnic z objektu Visual do zadaného Visual3D nadřazeného objektu vizuálu.
Platí pro
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
Návraty
Hodnota typu GeneralTransform.
Výjimky
ancestor
je null
.
ancestor
není předchůdcem vizuálu.
Objekty vizuálu nesouvisejí.
Příklady
Následující příklad značky ukazuje TextBlock objekt, který je vnořený do dvou StackPanel objektů.
<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>
Následující příklad kódu ukazuje, jak použít metodu TransformToAncestor k načtení posunu TextBlock relativní vzhledem k obsahující Window. Hodnoty posunu jsou obsaženy ve vrácené GeneralTransformhodnotě .
// 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))
Posun bere v Margin úvahu hodnoty pro všechny objekty v rámci obsahující Window. V tomto případě X je 28 a Y 28.
Poznámky
Alternativně můžete použít metodu VisualTreeHelper.GetOffset k načtení posunu objektu vizuálu vzhledem k jeho nadřazené. Hodnoty posunu jsou obsaženy ve vrácené Vector hodnotě.
// 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)