私は現在、ドラッグ アンド ドロップを介してあるエンティティから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
たが、役に立ちません。グーグルでも意味のある結果は得られず、アイデアがありません。