1
A
回答
0
在您的標記,勾一下處理器的PreviewMouseDown
事件:
<DataGrid x:Name="MyDataGrid" PreviewMouseDown="MyDataGrid_PreviewMouseDown" SelectionMode="Extended" SelectionUnit="Cell"></DataGrid>
然後在後面的代碼,你可以做這樣的事情:
private void MyDataGrid_PreviewMouseDown(object sender, MouseButtonEventArgs e)
{
if (e.ChangedButton == MouseButton.Middle && e.ButtonState == MouseButtonState.Pressed)
{
MyDataGrid.Focus();
DependencyObject dep = (DependencyObject)e.OriginalSource;
// Traverse the visual tree looking for DataGridCell
while ((dep != null) && !(dep is DataGridCell))
dep = VisualTreeHelper.GetParent(dep);
if (dep == null)
{
// Didn't find DataGridCell
return;
}
DataGridCell cell = dep as DataGridCell;
if (cell != null)
{
DataGridCellInfo cellInfo = new DataGridCellInfo(cell);
if(!MyDataGrid.SelectedCells.Contains(cellInfo))
{
// The cell is not already selected, add it to the selection
MyDataGrid.SelectedCells.Add(new DataGridCellInfo(cell));
}
else
{
// Cell is already part of selection, remove it (same behaviour as ctrl+left click)
MyDataGrid.SelectedCells.Remove(cellInfo);
}
}
}
}
相關問題
- 1. 加速鍵Ctrl +鼠標左鍵點擊
- 2. 鼠標左鍵點擊vbs
- 3. 我可以檢測鼠標左鍵嗎?或Ctrl +右鍵點擊?
- 4. 右鍵點擊:在鼠標所在的地方觸發左鍵點擊
- 5. 如何禁用鼠標左鍵點擊?
- 6. 鼠標左鍵點擊的事件
- 7. 捕獲鼠標左鍵點擊
- 8. 測試在C++中鼠標左鍵和右鍵點擊
- 9. 允許單擊鼠標左鍵單擊鼠標右鍵或按Ctrl鍵單擊打開對話框
- 10. CTRL +鼠標點擊不
- 11. 右鍵點擊並左鍵點擊標籤打開
- 12. WPF Datagrid的超鏈接右鍵點擊
- 13. autohotkey ctrl + click =點擊右鍵
- 14. 用jQuery處理鼠標左鍵和右鍵的點擊操作
- 15. 如何使用javascript MouseEvents同時左右點擊鼠標中鍵不同點擊?
- 16. 點擊鼠標左鍵下載圖片文件的代碼?
- 17. WPF DataGrid SelectedItems - 保持多個選擇,而左鍵點擊
- 18. 點擊鼠標中鍵時jquery警報?
- 19. 如何檢測鼠標中鍵點擊?
- 20. WPF DataGrid只在行上左鍵單擊
- 21. 左鍵點擊Bing地圖和WPF無法正常工作
- 22. 需要執行左鍵單擊的動作鼠標右鍵點擊(jQuery的)時
- 23. ctrl +左鍵點擊不能編輯地形虛幻引擎
- 24. 如何使用Ctrl鍵+鼠標點擊選擇多個控件?
- 25. 用jQuery改變HREF,只需點擊鼠標左鍵即可點擊該按鈕
- 26. 左鍵點擊GetAsyncKeyState陷入
- 27. OpenLayers 2.13吃左鍵點擊?
- 28. jQuery的點擊鼠標右鍵格
- 29. 在WebBuild上點擊鼠標右鍵
- 30. 鼠標右鍵點擊Openlayer 3