Я не вижу, где вы устанавливаете ViewModel, поэтому я предполагаю, что это в коде позади.(Лично я предпочитаю установить его в XAML и никогда не трогать код позади в MVVM, но это не имеет к этому никакого отношения.)
Если вы используете вашу ViewModel для привязки, то ViewModel отвечает за перевод всего, что выхочу, чтобы представление реагировало на мнение слушателя и уведомляло его.Тем не менее, логика бизнеса / приложений на самом деле не живет во ViewModel.То, что я предлагаю, может быть классом Singleton, который слушает и сообщает порты для вас.Пусть он управляет списком портов и т. Д. Затем ваш ViewModel может прослушивать этот класс и обновлять себя всякий раз, когда подключено устройство и т. Д. Как только ViewModel обновляется (если он подключен правильно), тогда представление также должно обновляться.Так что это решает, когда устройство подключено, ваш обзор обновляется ... Пока все очень просто.Теперь давайте обновим его, когда вы нажмете раскрывающийся список ComboBox.
Чтобы это произошло, мы хотим добавить ICommand в ViewModel (я бы сделал это в виде RelayCommand, который вам понадобитсясделайте сами или попробуйте стороннюю версию, такую как пакет Nuget SpeckyWPF.)
После того, как у вас есть команда в ViewModel, укажите в методе, который вы используете для обновления последовательных портов.
Теперь в представлении, когда вы нажимаете ComboBox, у вас есть событие.Я предлагаю не использовать код позади, что может показаться более простым, но создать AttachableProperty или пользовательский элемент управления ComboBox, чтобы можно было присоединить команду к этому событию.(Существуют также сторонние инструменты, которые помогут вам в этом.)
Что произойдет, если ваша ViewModel станет уведомляющей во всех случаях.Вы просто привязываетесь к команде, чтобы обновить ее и вызываете ее, когда это необходимо, или просто ждете, пока устройство будет подключено. Само представление не потребует никаких изменений, за исключением добавления команды, и все уведомления находятся в ВМ иЛогика в классе принадлежит к последовательному порту.