如何检测对象是否已在屏幕上移动?

时间:2015-09-17 03:34:52

标签: c# wpf

我正在实施操纵事件以检查对象的移动(三角形,方形,平行四边形),遵循以下教程: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);
}

0 个答案:

没有答案