我在Wpf里是用到了Img,需要从WebBrowser的页面中进行拖动操作(如把页面中的图片拖动到c#的界面),为什么DragDrop和DragEnter总是不能触发,源代码是这样的:public void DragProductTo(string url,string name) {
            Product product = new Product();
            product.Url = url;
            product.Name = name;
            Image = this.createImage(product);
            System.Windows.DragDrop.DoDragDrop(Image,url,DragDropEffects.Copy);
        }
private void Image_DragEnter(object sender, DragEventArgs e)
        {
            MessageBox.Show("enter!1");
            e.Effects = DragDropEffects.Copy;
        }        private void Image_Drop(object sender, DragEventArgs e)
        {
            string path = e.Data.GetData(typeof(string)).ToString();
            System.Uri url = new System.Uri(path);
            BitmapImage image = new BitmapImage(url);
            Image.Source = image;
            host.planHomeView.outerCanvas.Children.Add(Image);
        } public Image createImage(Product product) {
            Image = new Image();
            Image.Width = 1;
            Image.Height = 1;
            Image.DragEnter += new DragEventHandler(Image_DragEnter);
            Image.Drop += new DragEventHandler(Image_Drop);
            Image.DragOver += new DragEventHandler(Image_DragOver);
            Image.AllowDrop = true;
            return Image;
        }
 多多指教。

解决方案 »

  1.   

    AllowDrop = true;设置了吗?
      

  2.   

    c#override,new ,virtual的区别。
    override:从基类继承的成员的新的实现,重写父类的方法,最后只剩下重写的方法。
    new:重写父类的方法,不过把父类的方法给隐藏了,父类的引用指向子类时调用的是父类的方法。
    virtual:是虚方法
      

  3.   

    你把drag and Drop寫在窗體事件上可能可以.我遇到的是窗体上有個userControl,結果drag and drop 事件寫在usercontrol時,不触發事件