围绕圆圈旋转 UserControl

Rotate UserControl around circle

我有一个要添加到另一个用户控件的用户控件,其中还有一个 Canvas,里面有一张图片:

<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>

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

但现在我希望 UserControl 随 Canvas 旋转,但保持其方向不变。就像一个大轮子的豆荚。我希望它旋转,但底部应保持底部。

除了自己旋转 UserControl 之外,我不知道该怎么做,但如果有其他方法,我可能会更喜欢它。

对 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>