Create a BaseValidatingAction for those actions that trigger validation, which inherits BaseAction. With the current implementation, running a simple ICommand will trigger validation. Because of this, the screen might be shown as valid while in reality, it is not.
e.g:
SelectedValueChanged, Open/Close Window, Cancel buttons, ... should inherit BaseAction.
Save, Send, ... should inherit BaseValidatingAction.
The existing validation logic in BaseAction should be extracted into a new inheriting class.
..and it shouldn't.
Create a BaseValidatingAction for those actions that trigger validation, which inherits BaseAction. With the current implementation, running a simple ICommand will trigger validation. Because of this, the screen might be shown as valid while in reality, it is not.
e.g: SelectedValueChanged, Open/Close Window, Cancel buttons, ... should inherit BaseAction. Save, Send, ... should inherit BaseValidatingAction.
The existing validation logic in BaseAction should be extracted into a new inheriting class.