private void OnKeyDown( object sender, KeyEventArgs e )
{
if( !IsDropDownOpen )
{
if( KeyboardUtilities.IsKeyModifyingPopupState( e ) )
{
IsDropDownOpen = true;
// Popup_Opened() will Focus on ComboBoxItem.
e.Handled = true;
}
}
else
{
if( KeyboardUtilities.IsKeyModifyingPopupState( e ) )
{
CloseDropDown( true );
e.Handled = true;
}
else if( e.Key == Key.Enter )
{
CloseDropDown( true );
e.Handled = true;
}
else if( e.Key == Key.Escape )
{
SelectedItems.Clear();
foreach( object o in _initialValue )
SelectedItems.Add( o );
CloseDropDown( true );
e.Handled = true;
}
}
}