internal void RefreshKeyboardModelViewModels() { _currentLayoutKeyModeModeVM = new VMKeyboardMode( _context, Model.CurrentLayout.Current.Mode ); _currentKeyModeModeVM = new VMKeyboardMode( _context, Model.Current.Mode ); OnPropertyChanged( "KeyModeVM" ); OnPropertyChanged( "LayoutKeyModeVM" ); foreach( var keyMode in KeyModes ) { keyMode.TriggerPropertyChanged( "IsSelected" ); keyMode.TriggerModeChanged(); } foreach( var layoutKeyMode in LayoutKeyModes ) { layoutKeyMode.TriggerPropertyChanged( "IsSelected" ); layoutKeyMode.TriggerModeChanged(); } OnPropertyChanged( "IsSelected" ); OnPropertyChanged( "CurrentKeyModeModeVM" ); OnPropertyChanged( "CurrentLayoutKeyModeModeVM" ); }
public VMKeyEditable( VMContextEditable ctx, IKey k ) : base(ctx) { //By default, we show the fallback. ShowFallback = FallbackVisibility.FallbackOnLayout | FallbackVisibility.FallbackOnKeyMode; _context = ctx; _key = k; _actionsOnPropertiesChanged = new Dictionary<string, ActionSequence>(); _context = ctx; KeyDownCommand = new CK.Windows.App.VMCommand( () => _context.SelectedElement = this ); _currentKeyModeModeVM = new VMKeyboardMode( _context, k.Current.Mode ); _currentLayoutKeyModeModeVM = new VMKeyboardMode( _context, k.CurrentLayout.Current.Mode ); _layoutKeyModes = new ObservableCollection<VMLayoutKeyModeEditable>(); _keyModes = new ObservableCollection<VMKeyModeEditable>(); RefreshKeyModeCollection(); RefreshLayoutKeyModeCollection(); GetImageSourceCache(); RegisterEvents(); }