首先很简单,当然是去添加两个控件了,这里我添加了两个控件,都是label,然后我想实现的是将label1拖动到label2上的时候,label1的内容会被复制到label2上。
<Label Content="TestDrop" Height ="28" HorizontalAlignment="Left" Margin="70,35,0,0" Name ="label1" VerticalAlignment="Top" MouseDown="label1_MouseDown" /> <Label Content ="ToHere" Height="28" HorizontalAlignment="Left" Margin ="342,107,0,0" Name="label2" VerticalAlignment="Top" AllowDrop ="True" Drop="tagert_drop" />
需要注意的代码是label1中的MouseDown事件。和label2中的AllowDrop =“True” Drop=“tagert_drop”
然后对应的处理事件
private void label1_MouseDown(object sender, MouseButtonEventArgs e)
{
Label lbl = (Label )sender;
DragDrop.DoDragDrop(lbl, lbl.Content, DragDropEffects .Copy);
}
private void tagert_drop(object sender, DragEventArgs e)
{
(( Label)sender).Content = e.Data.GetData(DataFormats.Text);
}
其他的效果可以仿照这个来做。比如拖动以后的效果可以DragDropEffects来设置。。