我为每个单元格都有一个带有VM的数据网格,我需要获取一个单元格(单元格中的VM),如果鼠标悬停在我的拖放问题上
有没有办法让VM在鼠标结束的地方?
读取here关于ContextMenuStrip
的内容答案 0 :(得分:2)
您可以在CellStyle
中定义DataGrid
来收听DragEnter
事件:
<DataGrid.CellStyle>
<Style TargetType={x:Type DataGridCell}>
<EventSetter Event="DragEnter" Handler="OnDataGridCellDragEnter" />
</Style>
</DataGrid.CellStyle>
然后您可以在代码中访问视图模型:
private void OnDataGridCellDragEnter(object sender, DragEventArgs e)
{
var viewModel = ((FrameworkElement)sender).DataContext;
}
注意,只有在您使用DragEnter
启动拖放操作时才会触发DragDrop.DoDragDrop
事件。要执行上述正常鼠标移动,您可以收听MouseOver
而不是DragEnter
。