かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

WPFのDataGridの行ヘッダでのダブルクリックイベント

WPFのDataGridの行ヘッダでダブルクリックされたことを検知したいとき。
とりあえず、マウスの位置からRowHeaderActualWidthより左にあるかどうかで判断してみた。

private void DataGrid_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    var dg = e.Source as DataGrid;
    var pos = e.GetPosition(dg);
    if (dg.RowHeaderActualWidth > pos.X)
    {
        // 行ヘッダーでダブルクリックされた
    }
}

もっと王道のやり方があるなら知りたいけど。。。とりあえずこれでうごくっぽい。