我在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;
}
多多指教。
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;
}
多多指教。
override:从基类继承的成员的新的实现,重写父类的方法,最后只剩下重写的方法。
new:重写父类的方法,不过把父类的方法给隐藏了,父类的引用指向子类时调用的是父类的方法。
virtual:是虚方法