Visual.TransformToAncestor Yöntem

Tanım

Koordinatları'ndan Visual görsel nesnenin belirtilen üst öğesine dönüştürmek için kullanılabilecek bir dönüşüm döndürür.

Aşırı Yüklemeler

TransformToAncestor(Visual3D)

Koordinatları'ndan Visual görsel nesnenin belirtilen Visual3D üst öğesine dönüştürmek için kullanılabilecek bir dönüşüm döndürür.

TransformToAncestor(Visual)

Koordinatları'ndan Visual görsel nesnenin belirtilen Visual üst öğesine dönüştürmek için kullanılabilecek bir dönüşüm döndürür.

TransformToAncestor(Visual3D)

Koordinatları'ndan Visual görsel nesnenin belirtilen Visual3D üst öğesine dönüştürmek için kullanılabilecek bir dönüşüm döndürür.

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

Parametreler

ancestor
Visual3D

Visual3D Koordinatların dönüştürüldüğü yer.

Döndürülenler

GeneralTransform2DTo3D

Koordinatları öğesinden Visual görsel nesnenin belirtilen Visual3D üst öğesine dönüştürmek için kullanılabilecek bir dönüşüm.

Şunlara uygulanır

TransformToAncestor(Visual)

Koordinatları'ndan Visual görsel nesnenin belirtilen Visual üst öğesine dönüştürmek için kullanılabilecek bir dönüşüm döndürür.

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

Parametreler

ancestor
Visual

Visual Koordinatların dönüştürüldüğü yer.

Döndürülenler

GeneralTransform

türünde GeneralTransformbir değer.

Özel durumlar

ancestor, null değeridir.

ancestor görselin bir atası değildir.

Görsel nesneler ilişkili değildir.

Örnekler

Aşağıdaki işaretleme örneği, iki StackPanel nesnenin içinde iç içe yerleştirilmiş bir TextBlock örneği gösterir.

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

Aşağıdaki kod örneği, öğesini içeren Windowgöreli uzaklığını TextBlock almak için yönteminin nasıl kullanılacağını TransformToAncestor gösterir. Uzaklık değerleri döndürülen GeneralTransformiçinde yer alır.

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

Uzaklık, içeren Windowiçindeki tüm nesnelerin değerlerini dikkate Margin alır. Bu durumda, X 28 ve Y 28'dir.

Açıklamalar

Alternatif olarak, bir görsel nesnenin VisualTreeHelper.GetOffset üst öğesine göre uzaklığını almak için yöntemini kullanabilirsiniz. Uzaklık değerleri döndürülen Vector değerin içinde yer alır.

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

Şunlara uygulanır