0

我正在尝试在我的应用程序中实现一种拖动功能。作为一个简单的例子,想象一下我有一个 2x2 正方形的按钮,所以总共有四个按钮。单击一个按钮将执行一些其他功能,但是我希望当他们按住并拖动其中一个按钮以使其执行其他操作时(理想情况下,如果您将一个按钮拖放到另一个按钮的空间中,则两个按钮将交换位置,只要我可以拖放工作,交换应该很容易)。

我已经进行了一些研究并遵循了一些教程,但似乎在所有这些步骤中都出现了错误。似乎 ListViews 和 GridViews 已经有一些拖放功能,但是我在这些视图中正确安排我的按钮(有四个以上,它们位于非常特定的位置,如图表)时遇到了麻烦,更不用说拖动了并放弃与他们合作。

我该怎么做呢?理想情况下,我可以将这些按钮标记为可拖动,然后在拖放事件中检查放置位置,如果该位置有效,则执行交换方法。我似乎无法弄清楚如何使它们可拖动或如何有一个检查放置位置的事件。

谢谢。

4

1 回答 1

1

Easy peasy,创建一个看起来像您想要的方式的自定义控件,将 ManipulationMode 设置为 TranslateX|TranslateY,处理操作增量事件以使用 Canvas 或 TranslateTransform 之类的东西更新定位,并且当操作完成时 - 使其单击或动画到新的位置。根据我的经验 - 让任何其他操作与常规 Button 类一起工作是行不通的,因为按钮是一个非常简单的控件 - 在这种情况下,创建自己的控件比尝试扩展现有的控件更容易。

于 2012-09-07T04:01:15.507 回答