0
我有一个用于每个单元格的VM的数据网格,并且如果鼠标悬停在它上面以用于我的拖放问题,我需要获取单元格(单元格中的VM)用MousePosition在DataGrid中获取单元格
有什么方法可以让鼠标移动到虚拟机?
被读取here一些有关的ContextMenuStrip
我有一个用于每个单元格的VM的数据网格,并且如果鼠标悬停在它上面以用于我的拖放问题,我需要获取单元格(单元格中的VM)用MousePosition在DataGrid中获取单元格
有什么方法可以让鼠标移动到虚拟机?
被读取here一些有关的ContextMenuStrip
可以在DataGrid
定义CellStyle
听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
。
ty,但我找到了另一种方式来做到这一点。 –