Silverlight - 我应该如何在画布中实现拖动?

时间:2010-10-04 04:22:43

标签: silverlight silverlight-3.0 windows-phone-7

我正在为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?

我应该走哪条路?如何克服上述挑战?还有更好的建议吗?

由于

1 个答案:

答案 0 :(得分:2)

Silverlight Toolkit中查看GestureListerner / GestureReceiver。
源代码附带一个示例,用于演示拖动对象。

或者,查看同时启用拖动的MultiTouch Behaviour created by Laurent Bugnion