/// <summary> /// Test for modifier keys /// </summary> /// <returns></returns> private bool IsModifierKeyDown() { if (this.Modifiers == ModifierKeys.None) { return(true); } bool good = true; if ((this.Modifiers & ModifierKeys.Windows) == ModifierKeys.Windows) { if (_targetElement.GetKeyState(VirtualKey.LeftWindows) != CoreVirtualKeyStates.Down && _targetElement.GetKeyState(VirtualKey.RightWindows) != CoreVirtualKeyStates.Down) { good = false; } } if ((this.Modifiers & ModifierKeys.Shift) == ModifierKeys.Shift) { if (_targetElement.GetKeyState(VirtualKey.LeftShift) != CoreVirtualKeyStates.Down && _targetElement.GetKeyState(VirtualKey.RightShift) != CoreVirtualKeyStates.Down) { good = false; } } if ((this.Modifiers & ModifierKeys.Control) == ModifierKeys.Control) { if (_targetElement.GetKeyState(VirtualKey.Control) != CoreVirtualKeyStates.Down) { good = false; } } if ((this.Modifiers & ModifierKeys.Menu) == ModifierKeys.Menu) { if (_targetElement.GetKeyState(VirtualKey.Menu) != CoreVirtualKeyStates.Down) { good = false; } } return(good); }