Visual.TransformToAncestor Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt eine Transformation zurück, die zum Transformieren von Koordinaten vom Visual angegebenen Vorgänger des visuellen Objekts verwendet werden kann.
Überlädt
| Name | Beschreibung |
|---|---|
| TransformToAncestor(Visual3D) |
Gibt eine Transformation zurück, die zum Transformieren von Koordinaten vom Visual angegebenen Visual3D Vorgänger des visuellen Objekts verwendet werden kann. |
| TransformToAncestor(Visual) |
Gibt eine Transformation zurück, die zum Transformieren von Koordinaten vom Visual angegebenen Visual Vorgänger des visuellen Objekts verwendet werden kann. |
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
Parameter
Gibt zurück
Eine Transformation, die zum Transformieren von Koordinaten vom Visual angegebenen Visual3D Vorgänger des visuellen Objekts verwendet werden kann.
Gilt für:
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
Parameter
Gibt zurück
Ein Wert vom Typ GeneralTransform.
Ausnahmen
ancestor ist null.
ancestor ist kein Vorgänger des visuellen Elements.
Die visuellen Objekte sind nicht verknüpft.
Beispiele
Das folgende Markupbeispiel zeigt ein TextBlock in zwei StackPanel Objekten geschachteltes Markup.
<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>
Im folgenden Codebeispiel wird veranschaulicht, wie die TransformToAncestor Methode verwendet wird, um den Offset des TextBlock Relativen zum enthaltenden WindowObjekt abzurufen. Die Offsetwerte sind in der zurückgegebenen GeneralTransformenthalten.
// 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))
Der Offset berücksichtigt die Margin Werte für alle Objekte innerhalb des enthaltenden WindowObjekts. In diesem Fall X ist 28 und Y ist 28.
Hinweise
Alternativ können Sie die VisualTreeHelper.GetOffset Methode verwenden, um den Offset eines visuellen Objekts relativ zum übergeordneten Objekt abzurufen. Die Offsetwerte sind im zurückgegebenen Vector Wert enthalten.
// 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)