我正在实施拖拽行为,我遇到了以下问题。
我首先缩放一个矩阵,其中CenterX和CenterY等于0.然后,我将运行时的CenterX和CenterY更改为矩形的右上角以缩放到左侧。
问题是,当我更改对象的centerX和centerY时,重绘了everthing,就像我从未更改过CenterX和CenterY一样。
Obs:我正在使用RenderTransform。
我不知道我是否解释得好= x。
请帮忙。感谢。
答案 0 :(得分:0)
没有代码很难帮助。但无论如何我都会尝试。
您可以尝试使用转换矩阵获得“真实结果”。例如:
Point dragDelta = new Point(e.HorizontalChange, e.VerticalChange);
Matrix toCalculate = ((visualComponent as FrameworkElement).RenderTransform).Value;
dragDelta = toCalculate.Transform(dragDelta);
myData.X += dragDelta.X;
myData.Y += dragDelta.Y;
有很多方法可以做到这一点。我不是特别喜欢使用翻译变换。理想的是使用拇指并使用模板通过样式设置。这可以帮助您:http://www.codeproject.com/Articles/148503/Simple-Drag-Selection-in-WPF