私は現在、ドラッグ アンド ドロップを介してあるエンティティからDataGrid別のエンティティにエンティティを割り当てるツールを作成しています。
いくつかの操作で、すべてがスムーズに実行されるようになりましたが、小さな問題が 1 つあります。一部のエンティティを他のエンティティに割り当てることができず、UI に (まだ) 反映されていません。DataGrid
したがって、私が達成したい動作は次のとおりです。ユーザーが担当者を他のエンティティにドラッグすると、エンティティに互換性がない場合、アイコンは「ここにドロップすることはできません」アイコンに変わります。
DataGridDragDropTarget.DragOverこれは私のコードです(ターゲットのイベントに添付されていますDataGrid):
private void DragDropTarget_OnDragOver(object sender, Microsoft.Windows.DragEventArgs e)
{
var sw = sender as DataGridDragDropTarget;
if (sw == null)
{
return;
}
if(GetAssignmentCondition(e))
{
// TODO: Show link-icon
}
else
{
// TODO: Show drop-disabled-icon
}
}
私がこれまでに試したこと:
e.Effects、DragDropTargetのAllowedSourceEffectsプロパティ、および基になるItemDragEventArgsのAllowedEffectsとEffectsを設定しましDragDropEffects.Noneたが、役に立ちません。グーグルでも意味のある結果は得られず、アイデアがありません。