Visual.TransformToVisual(Visual) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回一个转换,该转换可用于将 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
参数
返回
一个 GeneralTransform 类型的值。
例外
visual
为 null
。
这些可视对象不相关。
示例
以下标记示例演示 TextBlock 对象中包含的 StackPanel 值。
<StackPanel Name="myStackPanel" Margin="8">
<TextBlock Name="myTextBlock" Margin="4" Text="Hello, world" />
</StackPanel>
下面的代码示例演示如何使用TransformToVisual该方法检索相对于其子TextBlock项的StackPanel偏移量。 偏移值包含在返回 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。 偏移值是负值,因为父对象相对于其子对象是负偏移量。
注解
TransformToAncestor还可以使用和TransformToDescendant方法返回视觉对象的转换。