本人最近在写一个需要用到磁贴移动的 WPF 应用,目前还在研究磁贴移动的原理,目前有了一个大概的思路,不确定方向是否正确。
首先我的第一个假设就是整个磁贴的 view 是有无数个小磁贴大小的透明容器组成。比如一个中型的磁贴就占据了 4 个容器。
那么,我如果从其他地方移动一个[中]大小的磁贴到[财经]磁贴的位置,就开始使用财经占据的 4 个容器来判断位置,如果在 1 容器位置(财经的左上角),这个磁贴会下移动一个格子,如果移动到 2 容器位置,[财经]磁贴将会往左(如果左边有空位置的话),如果没位置将下移等。
那目前的难点就在于:
1.如何判断会受到影响的磁贴,并且计算他们将会移动到什么地方;假设我磁贴是按顺序排放,并且磁贴大小不一,如果我把最后一个磁贴移动到第一个磁贴的位置,那么所有的磁贴都要重新计算一下位置,那么这个计算应该从什么地方开始?
2.磁贴的分组是如何进行的?
1
liangxuzhai 2017-03-27 10:04:09 +08:00
坐等大神回复,然后学习。
|