Språk

Visual.TransformToAncestor Metod

Definition

Returnerar en transformering som kan användas för att transformera koordinater från Visual till angiven överordnad för det visuella objektet.

Överlagringar

Name Description
TransformToAncestor(Visual3D)

Returnerar en transformering som kan användas för att transformera koordinater från Visual till angiven överordnad Visual3D för det visuella objektet.

TransformToAncestor(Visual)

Returnerar en transformering som kan användas för att transformera koordinater från Visual till angiven överordnad Visual för det visuella objektet.

TransformToAncestor(Visual3D)

Returnerar en transformering som kan användas för att transformera koordinater från Visual till angiven överordnad Visual3D för det visuella objektet.

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

Parametrar

ancestor
Visual3D

Till Visual3D vilken koordinaterna transformeras.

Returer

En transformering som kan användas för att transformera koordinater från Visual till den angivna överordnad Visual3D för det visuella objektet.

Gäller för

TransformToAncestor(Visual)

Returnerar en transformering som kan användas för att transformera koordinater från Visual till angiven överordnad Visual för det visuella objektet.

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

Parametrar

ancestor
Visual

Till Visual vilken koordinaterna transformeras.

Returer

Ett värde av typen GeneralTransform.

Undantag

ancestor är null.

ancestor är inte en överordnad till det visuella objektet.

De visuella objekten är inte relaterade.

Exempel

Följande markeringsexempel visar en TextBlock som är kapslad i två 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>

I följande kodexempel visas hur du använder TransformToAncestor metoden för att hämta förskjutningen för den TextBlock relativa till den innehållande Window. Förskjutningsvärdena finns i den returnerade GeneralTransform.

// 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))

Förskjutningen tar hänsyn Margin till värdena för alla objekt i den innehållande Window. I det här fallet X är 28 och Y är 28.

Kommentarer

Du kan också använda VisualTreeHelper.GetOffset metoden för att hämta förskjutningen av ett visuellt objekt i förhållande till dess överordnade objekt. Förskjutningsvärdena finns i det returnerade Vector värdet.

// 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)

Gäller för