Silverlight RenderTransformOrigin如何与TranslateTransform一起使用?

时间:2010-06-04 16:01:49

标签: c# .net user-interface silverlight visual-studio-2008

我正在使用Silverlight 3.0 + C#+ VSTS 2008 + .Net 3.5。我正在学习以下关于TranslateTransform的教程。

http://vbcity.com/blogs/canoz/archive/2010/05/02/beginning-silverlight-translatetransform.aspx

我的问题是RenderTransformOrigin如何与TranslateTransform一起工作以实现视觉效果?我的问题来自以下部分 - “可调整元素和RenderTransformOrigin。”

1 个答案:

答案 0 :(得分:3)

转换变换的结果不受RenderTransformOrigin的影响。

如果您指定一个元素应该正确翻译200 px,那么原点当前所在的位置并不重要。

示例

如果您有一个宽度为100的矩形,并且您要将RenderTransformOrigin`的x部分指定为0.5。 x中的原点将是矩形(中心)的50个像素,左边缘相对于原点的位置将是-50。

如果你在X中翻译100,那么左边缘将相对于原点为50。由于原点本身已经是50,因此左边缘从原始位置移动的总距离将是(50 + 50)100,如你所料。

现在只将RenderTransformOrigin从0.5更改为-0.5。现在原点将是矩形左边缘左侧50像素(即它将是-at 50)。矩形的左边缘相对于原点的位置将是50.当转换到其新位置时,它将相对于原点位于150。矩形从原始位置移开的总距离将再次为(-50 + 150)100。