Wpf 更改图元的角度

Wpf 更改图元的角度,wpf,xaml,win-universal-app,rendertransform,Wpf,Xaml,Win Universal App,Rendertransform,我有以下代码: RotateTransform transform = myImage.RenderTransform as RotateTransform; transform.Angle = 25.0; myImage.RenderTransform = transform; 设置我的图像元素的角度。。它可以工作,但是它没有像我预期的那样移动 我只是想知道角度是否基于图像的右角设置?那么,它是否将图像从图像右侧旋转25度?旋转角度为顺时针旋转360度。这意味着25度将其移动到1点钟左右。如

我有以下代码:

RotateTransform transform = myImage.RenderTransform as RotateTransform;
transform.Angle = 25.0;
myImage.RenderTransform = transform;
设置我的
图像
元素的
角度。。它可以工作,但是它没有像我预期的那样移动


我只是想知道
角度
是否基于图像的右角设置?那么,它是否将图像从图像右侧旋转25度?

旋转角度为顺时针旋转360度。这意味着
25
度将其移动到1点钟左右。如果你想指向右边,应该是90度。直线下降将是180度

有道理吗?看看这个:

以下是一些帮助您测试的代码:

<StackPanel Width="200" Margin="0,50">
    <Grid Width="100" Height="100" Background="SteelBlue" RenderTransformOrigin=".5,.5">
        <UIElement.RenderTransform>
            <RotateTransform Angle="{Binding Value, ElementName=MySlider}" />
        </UIElement.RenderTransform>
        <Line HorizontalAlignment="Center" VerticalAlignment="Top"
                Stroke="Goldenrod" StrokeThickness="4"
                X1="2" X2="2"
                Y1="0" Y2="40" />
        <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White">
            <Run Text="{Binding Value, ElementName=MySlider}" />
            <Run Text="degrees" />
        </TextBlock>
    </Grid>
    <Slider x:Name="MySlider" Maximum="360" Minimum="0" Value="25" />
</StackPanel>

请确保并注意
renderTransferMorigin=“.5、.5”
位。这对你来说非常重要,因为它决定了旋转轴的位置。这些值从0到1。所以
0,0
基本上是上/左,而
1,1
是下/右。这使得<代码> 5,5 < /COD>中间SMAK。
祝你好运

那么你不能从结果中推导出来吗?它按
角度按时钟方向旋转。它没有像我预期的那样移动->所以试着增加角度是多余的,因为您正在设置已经就位的变换的角度特性。默认情况下,围绕左上角旋转。要改变这一点,您可以在相对坐标(例如,(0.5,0.5)为中心)中设置元素的
rendertransferormorigin
,或者在绝对坐标中设置旋转变换的
CenterX
CenterY
属性。