1
我需要我的應用程序在DataGrid被雙擊時執行某個動作。如果雙擊滾動條,則不應執行該操作。所以我嘗試看看什麼是doubleclicked:檢查數據網格中是否雙擊滾動條
private void DataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
Point p = Mouse.GetPosition(this.DataGrid1);
IInputElement ie = this.DataGrid1.InputHitTest(p);
}
但是當我雙擊一個滾動條,然後IInputElement似乎是所有種類的東西: Microsoft.Windows.Themes.ScrollChrome或System.Windows.Shapes.Rectangle。所以我不確定是否點擊了滾動條。
那麼如何檢查我是否真的雙擊滾動條?
感謝您的回答!順便說一句,如果我雙擊一個文本單元格,然後在e.OriginalSource中獲得一個TextBlock,並且VisualTreeHelper.GetParent爲它返回null。你知道爲什麼嗎? – 2012-01-17 15:20:50
@ Bogdan0x400你通過什麼類型T? – 2012-01-17 15:22:38
我不使用這段代碼,我只是嘗試VisualTreeHelper.GetParent(e.OriginalSource),當我雙擊一個單元格,它返回null,令我驚訝。 – 2012-01-17 15:28:21