У меня была похожая проблема, которую я только что решил;Я видел ваш пост, когда искал ответы, и думал, что лучше поделюсь им, хотя это старый пост.Даже если вы давно обойдете эту проблему, другие найдут этот пост.
Я думал, что мой обработчик событий тоже не запускается.Оказалось, что это БЫЛО, но оно было запущено в фоновом потоке и не могло повлиять на пользовательский интерфейс.Решением было убедиться, что обработчик запустил поток пользовательского интерфейса.Используйте CheckAccess и, если его нет в основном потоке, отправьте его туда с помощью Dispatcher.BeginInvoke.
Надеюсь, это поможет!