private void KeyEditBt_Click()
        {
            var shortcutManager = model.ShortcutKeyManager;
            var keyConfModel    = new KeyConfigModel(shortcutManager);
            var vm = new KeyConfigViewModel(new WindowService(), keyConfModel);

            WindowManageService.ShowDialog <KeyConfig>(vm);
        }
        public KeyConfigViewModel(WindowService windowService, KeyConfigModel model) : base(windowService, model)
        {
            this.model = model;

            Loaded = new DelegateCommand(Window_Loaded);
            KeyListSelectionChanged = new DelegateCommand(KeyList_SelectionChanged);
            DeleteCurrentKeyBtClick = new DelegateCommand(DeleteCurrentKeyBt_Click);
            ApplyKeyBtClick         = new DelegateCommand(ApplyKeyBt_Click);
            OKayBtClick             = new DelegateCommand(OKayBt_Click);
            InputKeyTextBoxKeyDown  = new DelegateCommand <KeyEventArgs>(InputKeyTextBox_KeyDown);

            KeyList = new ReadOnlyObservableCollection <ShortcutKeyForList>(model.KeyList);
            KeyListSelectedIndex = model.ToReactivePropertyAsSynchronized(m => m.CurrentIndex);
            CommandText          = model.ToReactivePropertyAsSynchronized(m => m.CommandText);
            CurrentKeyText       = model.ToReactivePropertyAsSynchronized(m => m.CurrentKeyText);
            InputKeyText         = model.ToReactivePropertyAsSynchronized(m => m.KeyString);
        }