Visual.TransformToDescendant(Visual) 方法

定義

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

C#
public System.Windows.Media.GeneralTransform TransformToDescendant (System.Windows.Media.Visual descendant);

參數

descendant
Visual

座標會轉換為 Visual

傳回

GeneralTransform

型別 GeneralTransform 的值。

例外狀況

descendantnull

視覺不是 descendant 視覺物件的祖系。

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

範例

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

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

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

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

// Retrieve the point value relative to the child.
Point currentPoint = generalTransform1.Transform(new Point(0, 0));

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

適用於

產品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Windows Desktop 3.0, 3.1, 5, 6, 7