首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >改变UIElement的角度

改变UIElement的角度
EN

Stack Overflow用户
提问于 2015-10-12 15:56:37
回答 1查看 1.4K关注 0票数 3

我有这样的代码:

代码语言:javascript
复制
RotateTransform transform = myImage.RenderTransform as RotateTransform;
transform.Angle = 25.0;
myImage.RenderTransform = transform;

它设置我的Angle元素Image ..。它起作用了,但是它并没有像我预期的那样移动太多。

我只是想知道Angle是否是建立在图像的右手角的基础上的?那么,它是否将图像从图像的右边旋转25度?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-13 00:13:34

旋转角度为顺时针方向的360度。这意味着,实际上,25学位把它移动到了1点左右。如果你想指向右边,那就是90度。直线向下是180度。

讲得通?看看这个:

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

代码语言:javascript
复制
<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>

确保并注意到RenderTransformOrigin=".5,.5"位。这对你来说非常重要,因为它决定了旋转轴的位置。值从0到1。所以0,0基本上是上/左,1,1是底部/右边。这使.5,.5处于中间。

祝你好运!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33085362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档