かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

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)
    {
        // 行ヘッダーでダブルクリックされた
    }
}

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