CommunityToolkit.Mvvm и потоки

Добрый день. Я наконец-то смог вернуться к задаче и слепил, надеюсь, корректно, пример имитирующий проблему и ее решение.

GitHub

Ваши

EventHandlerSyncContext

,

EventSyncContext

и

RelayCommandSyncContext

я почти не трогал. Большей частью редактировал из-за nullable reference types.

Правда, в

RelayCommandSyncContext

ничего лучшего чем обернуть конструктор без параметров

#pragma warning disable CS8618

не придумал.

В

MainView.xaml

элементы с командами без синхронизации закомментированы.

Вопрос. Обязателен ли, в моем случае, элемент с

Binding IsConnected

, и что предать

CommandParameter

если такового элемента не создавать?

Хотелось бы услышать замечания. И что сделать, чтобы окно не становилось обесцвеченным когда курсор мыши уходит за его пределы?