public static TriggerBase CreateTrigger(string triggerText) { var triggerDetail = triggerText .Replace("[", string.Empty) .Replace("]", string.Empty) .Replace("Shortcut", string.Empty) .Trim(); var modKeys = ModifierKeys.None; var allKeys = triggerDetail.Split('+'); var key = (Key)Enum.Parse(typeof(Key), allKeys.Last()); foreach (var modifierKey in allKeys.Take(allKeys.Count() - 1)) { modKeys |= (ModifierKeys)Enum.Parse(typeof(ModifierKeys), modifierKey); } var keyBinding = new KeyBinding(new InputBindingTrigger(), key, modKeys); var trigger = new InputBindingTrigger { InputBinding = keyBinding }; return(trigger); }
private TriggerBase<FrameworkElement> ConstructTrigger() { var trigger = new InputBindingTrigger(); trigger.GlobalInputBindings.Add(new KeyBinding { Modifiers = Modifiers, Key = Key }); var command = new ActionMessageCommand { MethodName = Name }; Command = command; trigger.Actions.Add(command); return trigger; }
public static TriggerBase CreateTrigger(string triggerText) { var triggerDetail = triggerText .Replace("[", String.Empty) .Replace("]", String.Empty) .Replace("Shortcut", String.Empty) .Trim(); var gestureConverter = new MultiKeyGestureConverter(); var gesture = gestureConverter.ConvertFrom(null, CultureInfo.InvariantCulture, triggerDetail) as MultiKeyGesture; var trigger = new InputBindingTrigger { InputBinding = new MultiKeyBinding() { Gesture = gesture } }; return(trigger); }
public static TriggerBase CreateTrigger(string triggerText) { var triggerDetail = triggerText .Replace("[", string.Empty) .Replace("]", string.Empty) .Replace("Shortcut", string.Empty) .Trim(); var modKeys = ModifierKeys.None; var allKeys = triggerDetail.Split('+'); var key = (Key)Enum.Parse(typeof(Key), allKeys.Last()); foreach (var modifierKey in allKeys.Take(allKeys.Count() - 1)) { modKeys |= (ModifierKeys)Enum.Parse(typeof(ModifierKeys), modifierKey); } var keyBinding = new KeyBinding(new InputBindingTrigger(), key, modKeys); var trigger = new InputBindingTrigger { InputBinding = keyBinding }; return trigger; }