围绕圆旋转用户控件



我有一个用户控件,我正在将其添加到另一个用户控件中,其中也是一个带有图片的画布:

<Canvas x:Name="ImageCanvas" HorizontalAlignment="Left" VerticalAlignment="Top" Height="{Binding ElementName=drehteller, Path=ActualHeight}" Width="{Binding ElementName=drehteller, Path=ActualWidth}" RenderTransformOrigin="0.5,0.5"
MaxHeight="{Binding ElementName=drehteller, Path=ActualHeight}" MaxWidth="{Binding ElementName=drehteller, Path=ActualWidth}">
<Canvas.RenderTransform>
<RotateTransform x:Name="rotateCanvas"/>
</Canvas.RenderTransform>
<Image x:Name="drehteller" Source="{Binding drehteller_image}" Canvas.ZIndex="1"/>
<UserControl Content="{Binding myUserControl}"/>
</Canvas>

所以基本上我正在旋转画布,如RotateTransform所示,它工作得很好。

但是现在我希望用户控件与画布一起旋转,但保持其方向。就像一个大轮子的吊舱。我希望它旋转,但底部应保持底部。

除了旋转UserControl之外,我不知道该怎么做,但如果还有另一种方法,我可能会更喜欢它。

在用户控件上执行反向旋转可能是最简单的方法:

<Canvas RenderTransformOrigin="0.5,0.5" ...>
<Canvas.RenderTransform>
<RotateTransform x:Name="rotateCanvas"/>
</Canvas.RenderTransform>
...
<UserControl Content="{Binding myUserControl}" RenderTransformOrigin="0.5,0.5">
<UserControl.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="-1"/>
<RotateTransform Angle="{Binding Angle, ElementName=rotateCanvas}"/>
<ScaleTransform ScaleX="-1"/>
</TransformGroup>
</UserControl.RenderTransform>
</UserControl>
</Canvas>

最新更新