private void OnHotkeyPressed(HotkeyModifier arg1, Key arg2)
        {
            IHotkeyProcessor processor = AssociatedObject.DataContext as IHotkeyProcessor;

            if (processor != null)
            {
                processor.ProcessShortcut(new Shortcut((KeyEnum)arg2, arg1));
            }
        }
        private void RegisterHotkeys()
        {
            IHotkeyProcessor processor = AssociatedObject.DataContext as IHotkeyProcessor;

            if (processor == null)
            {
                return;
            }

            foreach (Shortcut shortcut in processor.Shortcuts)
            {
                GlobalHotkeyProvider provider = new GlobalHotkeyProvider(AssociatedObject);

                if (provider.Register(shortcut.Modifier, (Key)shortcut.Key))
                {
                    provider.OnHotkeyPressed += OnHotkeyPressed;

                    _globalHotkeyProviders.Add(provider);
                }
            }
        }