我的 WPF Datagrid 上的每个单元格都需要OnDragEnter
事件。我试过这个:
<ControlTemplate TargetType="{x:Type my:DataGridCell}" x:Key="RowTemplate">
<ContentPresenter DragEnter="ContentPresenter_DragEnter" >
</ContentPresenter>
</ControlTemplate>
但似乎不起作用。任何想法的人?
编辑:感谢您的回复,我意识到我遇到了另一个问题:我真正的问题是TextBox
控件总是将拖放事件标记为已处理,因此即使您设置AllowDrop="True"
它也会看起来 AllowDrop 不起作用。这不是错误,这种行为实际上是设计使然。
我使用预览事件来预测这一点,并且能够处理 D'n'D 事件。
<TextBox
AllowDrop="True"
PreviewDragEnter="TextBox_PreviewDragOver"
PreviewDragOver="TextBox_PreviewDragOver"
PreviewDrop="TextBox_PreviewDrop">
<TextBox/>
希望这可以帮助。
我将您的回答标记为答案,因为它们对最初的问题是准确的。