I found this question at StackOverflow, should the RaiseCanExecuteChanged method be executed on the UI thread instead? [Why people use CommandManager.InvalidateRequerySuggested() on ICommands? - StackOverflow](https://stackoverflow.com/a/62275903) ``` public void RaiseCanExecuteChanged() { Application.Current.Dispatcher.Invoke(() => CanExecuteChanged?.Invoke(this, null)); } ```