我正在为Windows Phone 7(Silverlight 3)构建一个小应用程序,它允许用户将对象添加到屏幕并拖动它们。 我的课程定义如下:
public class Frame
{
public double Height{ get; set; }
public double Width { get; set; }
public Uri Image { get; set; }
public string Details { get; set; }
public SolidColorBrush BgColor { get; set; }
}
我的问题是关于如何实现这一点的方法。我对SilverLight很新(具有WPF经验),并且我发现了SLF中缺少的东西(例如,命令)。
我认为我可以:
a)在ListBox
中使用带有Canvas的ItemsPanelTemplate
并将其绑定到ObservableCollection<Frame>
。在WPF中,将使用DataTemplate中的命令来处理拖放中涉及的事件。但是SL3中没有命令
b)当用户添加新对象时,我可以创建Frame
的实例,然后连接必要的事件。在这种情况下如何应用DataTemplate?
我应该走哪条路?如何克服上述挑战?还有更好的建议吗?
由于
答案 0 :(得分:2)
在Silverlight Toolkit中查看GestureListerner / GestureReceiver。
源代码附带一个示例,用于演示拖动对象。
或者,查看同时启用拖动的MultiTouch Behaviour created by Laurent Bugnion。