共用方式為


Visual.TransformToVisual(Visual) 方法

定義

傳回轉換,這個轉換可用來將 Visual 的座標轉換為指定的視覺物件。

public:
 System::Windows::Media::GeneralTransform ^ TransformToVisual(System::Windows::Media::Visual ^ visual);
public System.Windows.Media.GeneralTransform TransformToVisual (System.Windows.Media.Visual visual);
member this.TransformToVisual : System.Windows.Media.Visual -> System.Windows.Media.GeneralTransform
Public Function TransformToVisual (visual As Visual) As GeneralTransform

參數

visual
Visual

座標會轉換為 Visual

傳回

型別 GeneralTransform 的值。

例外狀況

visualnull

這些視覺物件都不會產生關聯。

範例

下列標記範例顯示 TextBlock 包含在 物件內的 StackPanel

<StackPanel Name="myStackPanel" Margin="8">
  <TextBlock Name="myTextBlock" Margin="4" Text="Hello, world" />
</StackPanel>

下列程式碼範例示範如何使用 TransformToVisual 方法來擷取相對於其子 TextBlockStackPanel 位移。 位移值包含在傳 GeneralTransform 回的值內。

// Return the general transform for the specified visual object.
GeneralTransform generalTransform1 = myStackPanel.TransformToVisual(myTextBlock);

// Retrieve the point value relative to the child.
Point currentPoint = generalTransform1.Transform(new Point(0, 0));
' Return the general transform for the specified visual object.
Dim generalTransform1 As GeneralTransform = myStackPanel.TransformToVisual(myTextBlock)

' Retrieve the point value relative to the child.
Dim currentPoint As Point = generalTransform1.Transform(New Point(0, 0))

位移會考慮 Margin 所有物件的值。 在此情況下, X 為 -4,且 Y 為 -4。 位移值是負值,因為父物件是相對於其子物件的負位移。

備註

TransformToAncestorTransformToDescendant 方法也可以用來傳回視覺物件的轉換。

適用於