拖放在DataGrid(WPF)中不起作用

在我的Excel AddIn中,我有一个WPF窗口。 在窗口内部,有一个用户控件,在顶部部分有一个数据网格(称之为datagrid1)。 窗口的下半部分有另一个用户控件,它包含一个数据网格(称之为datagrid2)。 我想从datagrid1拖放行到datagrid2

对于datagrid1,

<toolkit:DataGrid Style="{StaticResource DataGridStyle}" SelectionMode="Extended" ItemsSource="{Binding Relations}" SelectedItem="{Binding ListSelection}" MouseDoubleClick="dg_MouseDoubleClick" DragEnter="DataGrid_CheckDropTarget" DragLeave="DataGrid_CheckDropTarget" DragOver="DataGrid_CheckDropTarget" PreviewMouseLeftButtonDown="DG_PreviewMouseLeftButtonDown" ContextMenuOpening="dg_ContextMenuOpening" PreviewMouseMove="DG_MouseMove" BorderBrush="LightGray"> 

为datagrid2

 <dg:DataGrid Grid.Row="1" x:Name="basketDG" Margin="5 0 5 0" Background="White" AutoGenerateColumns="False" Style="{StaticResource DataGridStyle}" ItemsSource="{Binding MyItems, Mode=OneWay}" SelectedItem="{Binding SelectedRelComplete}" SelectionChanged="BasketDgSelectionChanged" Drop="DataGridDrop" DragEnter="DataGridDragEnter" > <Style x:Key="DataGridRowStyle" TargetType="{x:Type dg:DataGridRow}"> <Setter Property="AllowDrop" Value="True" /> </Style> <Style x:Key="DataGridStyle" TargetType="{x:Type dg:DataGrid}"> <Setter Property="RowStyle" Value="{StaticResource DataGridRowStyle}" /> </Style> 

但事件DragEnter(在datagrid2上)根本没有触发。

我在这里错过什么?

经过几天的search和苦苦挣扎,终于find了一些东西

这是WPF中的一个错误,在非默认域中执行WPF应用程序时,拖放不起作用。 请参阅https://connect.microsoft.com/VisualStudio/feedback/details/422485/drag-and-drop-does-not-work-when-executing-a-wpf-application-in-a-non-default-appdomain

非常感谢塞缪尔·杰克(Samuel Jack)解决这个问题,并在他的博客中join了一个解决方法@ http://blog.functionalfun.net/2009/10/work-around-for-wpf-bug-drag-and-drop.html