public EncoderBindingEditorViewModel(IServiceProvider serviceProvider, EncoderActionBinding encoderBinding, IDeviceEncoder?deviceEncoder) : base(encoderBinding, deviceEncoder) { _bindingActionRepository = serviceProvider.GetRequiredService <BindingActionRepository>(); _encoderBinding = encoderBinding; IEnumerable <SimpleBindableActionEditorViewModel> availableActions = _bindingActionRepository.GetAll <ISimpleBindableAction>().Select(b => new SimpleBindableActionEditorViewModel((ISimpleBindableAction)b.CreateNew())); AvailableClockwiseActions = availableActions.ToList(); AvailableAntiClockwiseActions = availableActions.ToList(); CommandClearClockwiseAction = new NotifiedRelayCommand(o => SelectedClockwiseAction = null, o => EncoderClockwiseAction != null, this, nameof(EncoderClockwiseAction)); CommandClearAntiClockwiseAction = new NotifiedRelayCommand(o => SelectedAntiClockwiseAction = null, o => EncoderAntiClockwiseAction != null, this, nameof(EncoderAntiClockwiseAction)); LoadFromModel(); EnableTouchedTracking(); }
protected IEncoderBindingEditorViewModel(EncoderActionBinding actionBinding, IDeviceEncoder?deviceButton) : base(actionBinding, deviceButton) { }