刚刚遇到wpf和winform之间拖拽的问题,由于两者是引用不同的命名空间,所以拖拽过程中出现了一些问题。现在简单的记录一下。
借鉴的一个前辈的wpf内拖拽的例子(其在同一个wpf文件中,而我用的是wpf和winform两个文中):http://www.cnblogs.com/zhuiyi/archive/2012/09/23/2699379.html
在wpf中的拖拽源:
private void Image_MouseDown_1(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
TextBox objText = new TextBox();
objText.Text = "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq";
DragDrop.DoDragDrop(objText, objText.Text, DragDropEffects.Copy);
}
在winform中:
private void xxx_DragEnter(object sender, DragEventArgs e)
{
e.Effect = System.Windows.Forms.DragDropEffects.All ;
}
private void xxx_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.Text))
{
string thisString = (string)e.Data.GetData(DataFormats.Text);//注意,用的命名空间是winform的,也就是说,对于传递字符串,直接用winform的即可
}
}
而,对于拖拽中传递图片,则就出现很多问题,在winform中加入前辈例子中(ImageSource)e.Data.GetData("System.Windows.Media.Imaging.BitmapFrameDecode"); 但得不到数据,或许可以通过拖拽字符串的方式,把图片的路径传递过来。怎么直接从拖拽图片中得到数据,还是求待高人解决吧。
这里只是简单的记录一下,送给同样需要的过客。