public void HandleKeyDown(KeyEventArgs e)
{
switch(e.Key)
{
case Key.Enter:
OnCommit();
e.Handled = true;
break;
case Key.Up:
SelectedIndexDecrement();
e.Handled = true;
break;
case Key.Down:
if((ModifierKeys.Alt & Keyboard.Modifiers) == ModifierKeys.None)
{
SelectedIndexIncrement();
e.Handled = true;
}
break;
case Key.Escape:
OnCancel();
e.Handled = true;
break;
}
}