C# 如何使我的控件从屏幕边缘反弹?

C# 如何使我的控件从屏幕边缘反弹?,c#,windows-8,windows-store-apps,C#,Windows 8,Windows Store Apps,我正在开发一个Windows应用商店应用程序。我的应用程序中有许多可拖动的用户控件(矩形)。如果用户拖动我的控件的速度足够快,该控件将消失。否则,它将保留在屏幕上,以防止不必要的删除 现在我知道如何在操作delta事件处理程序中获得速度,但我不知道如何使我的控件从屏幕边缘反弹。问题的复杂性可能会因许多变量而异。例如,是否希望长方体彼此旋转/碰撞等 最完整的解决方案是使用第三方解决方案,如Box2D(或其c#调用的端口)。但是,我不确定是否有Win RT版本可用 如果不使用像box2dx这样的东西

我正在开发一个Windows应用商店应用程序。我的应用程序中有许多可拖动的用户控件(矩形)。如果用户拖动我的控件的速度足够快,该控件将消失。否则,它将保留在屏幕上,以防止不必要的删除


现在我知道如何在
操作delta
事件处理程序中获得速度,但我不知道如何使我的控件从屏幕边缘反弹。

问题的复杂性可能会因许多变量而异。例如,是否希望长方体彼此旋转/碰撞等

最完整的解决方案是使用第三方解决方案,如Box2D(或其c#调用的端口)。但是,我不确定是否有Win RT版本可用


如果不使用像box2dx这样的东西,您就必须运行自己的物理引擎。要做到这一点,您需要创建一个以固定间隔(比如60Hz)更新的代码循环,并在该时间点检查每个矩形的位置和速度。如果你可以设置这样的循环,那么你可以用它来计算下一帧中每个矩形的位置/速度。

谢谢。因为我不需要检测碰撞,所以我在控件中添加了一个“TranslateTransform”并控制其移动,但这并不容易。