我正在实施操纵事件以检查对象的移动(三角形,方形,平行四边形),遵循以下教程:https://msdn.microsoft.com/en-us/library/vstudio/ee649090(v=vs.100).aspx
但是,我正在处理自己创建的对象,而 RenderTransform似乎无法使用。
错误我得到:不包含'RenderTransform'的定义,并且没有扩展方法'RenderTransform'接受类型为Tangible的第一个参数(你是否缺少using指令或汇编引用?)< / em>
我怎样才能让它发挥作用?我需要实现自己的RenderTransform方法吗?但是我不明白为什么它不能仅仅适用于我自己的对象。
我尝试使用多边形而不是我自己的对象,但这并没有解决问题,而是提供空指针异常,因为我的屏幕上的对象实际上是“有形”类型的对象。
我的代码:
private void PlayingCanvas_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
Tangible polyToMove = e.OriginalSource as Tangible;
Matrix polysMatrix = ((MatrixTransform)polyToMove.RenderTransform).Matrix;
polysMatrix.RotateAt(e.DeltaManipulation.Rotation,
e.ManipulationOrigin.X,
e.ManipulationOrigin.Y);
polysMatrix.Translate(e.DeltaManipulation.Translation.X,
e.DeltaManipulation.Translation.Y);
polyToMove.RenderTransform = new MatrixTransform(polysMatrix);
}