私のWPFアプリケーションでObservableCollectionが2つあるとしましょう。違うタイプのobservablecollectionにgong-wpf-dragdrop
私はモジュールは、タスクリストの中に落下している場合は、私が行いますObservableCollection<TaskInfo> Tasks
「タスク」
タイプのリストにObservableCollection<IModuleInfo> Modules
「モジュール」タイプの1つのリストをドラッグする必要が
最初にモジュールをタスクに変換してから、新しいタスクをリストに追加します。
私はgong-wpf-dragdropを使用していますが、デフォルトのアドオンが良いです。 どうすればいいですか?他の場所で解決策を見つけることができません。私は、ビューモデルにIDropTargetを実装している
<ItemsControl Grid.Row="1" Margin="0,0,0,0" dd:DragDrop.IsDragSource="False"
dd:DragDrop.IsDropTarget="True" dd:DragDrop.UseDefaultDragAdorner="True"
dd:DragDrop.DropHandler="{Binding}"
ItemsSource="{Binding Tasks}"
>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid> </Grid>
</ItemsControl>
、
が、それは
public void Drop(IDropInfo dropInfo)
{
が受け入れないように思える:
<ItemsControl Grid.Row="1" ItemsSource="{Binding Modules}"
dd:DragDrop.IsDragSource="True"
dd:DragDrop.IsDropTarget="False"
dd:DragDrop.UseDefaultDragAdorner="True">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="1" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Margin="5">
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
ドロップターゲットになります異なるタイプのオブジェクトをドロップします。