如何获取AngleProperty

本文关键字:AngleProperty 获取 何获取 | 更新日期: 2023-09-27 17:57:50

我可以像一样应用角度

double angle = 30;
Rectangle r = new Rectangle();
r.Width = 5;
r.Height = 130;
r.Fill = Brushes.Black;
r.RenderTransform = new RotateTransform(angle);
canvas1.Children.Add(r);

但我不确定如何返回角度值?

如何获取AngleProperty

您可以保存旋转变换并在以后访问它;

RotateTransform rTransform = new RotateTransform(angle);
...
var temp = rTransform.Angle;

您可以始终尝试将元素的RenderTransform强制转换为RotateTransform,并(如果转换成功)从Angle属性获取角度值:

var element = canvas1.Children[0];
var transform = element.RenderTransform as RotateTransform;
var angle = transform != null ? transform.Angle : 0.0;

变换是3x3矩阵。你可以在这里阅读关于旋转特定位的

您可以使用RenderTransform.Value属性访问矩阵(而不是像之前理论的那样将电线插入后脑勺)

使用Matrix.M11Matrix.M12Matrix.M21Matrix.M22值来计算角度!