Najprościej jak zrobisz sobie taką kontrolkę i skompilujesz projekt to w toolbox powinna się pojawić twoja kontrola i możesz ją używać jak standardowego datagrida. Podobnie jak tutaj WPF i importowanie kontrolki z Window do MainWindow ale jak widać nie wszystkim to działa, nie wiadomo czemu. ;)
Alternatywnie w konstruktorze na przykład okna możesz dodać zdarzenie:
customDataGrid1.PreviewKeyDown += CustomKeyDown;
i później standardowo:
private void CustomKeyDown(object sender, KeyEventArgs e)
{
// ...
}
No i można jeszcze tak. :P
CustomDataGrid1.PreviewKeyDown += (o, args) => { /* ... */};
// albo tak. ;)
CustomDataGrid1.PreviewKeyDown += delegate(object o, KeyEventArgs args) { /* ... */};