【发布时间】:2014-07-05 14:52:43
【问题描述】:
我有一个这样的 DataGrid:
<DataGrid
PreviewMouseRightButtonUp="BookGrid_PreviewMouseRightButtonUp"
PreviewMouseLeftButtonUp="BookGrid_PreviewMouseRightButtonUp">....</DataGrid>
(数据网格是自动生成列的默认数据网格)
后面的代码:
private void BookGrid_PreviewMouseRightButtonUp(object sender, MouseButtonEventArgs e)
{
Debug.WriteLine(e.OriginalSource);
}
例如,当我用鼠标左键单击列标题时,调试会打印出以下内容:
System.Windows.Controls.Primitives.DataGridColumnHeader:类别
但是当我用鼠标右键单击同一位置时:
System.Windows.Controls.TextBlock
当我尝试单击表单按钮时,左键单击“System.Windows.Controls.Button:编辑”, 右键单击“System.Windows.Controls.TextBlock”。
这怎么可能? 两次点击都应该返回相同的内容。
我没有使用任何自定义代码来处理类似的鼠标。
【问题讨论】: