かずきのBlog@hatena

日本マイクロソフトに勤めています。このブログは個人ブログなので、ここに書いている内容は個人的な意見で会社の公式見解ではない点にご注意ください。好きなものは XAML と C# 。苦手なものは型の無い言語です。

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

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