Здравствуйте, sergunok, Вы писали:
S>Понятно, что нужен Inovoke либо SynchronizationContext.
S>Вопрос в том, как это нетрудоемко сделать с десятками классов, реализующих INotifyPropertyChanged.
Если речь идет о Wpf, то байндинг к свойствам контролов синхронизируется автоматически. Т.е. Если написано
<TextBlock Text="{Binding Caption}"/>
То свойство caption можно менять из любого потока и все будет нормально работать.
Понятно, что нужен Inovoke либо SynchronizationContext.
Вопрос в том, как это нетрудоемко сделать с десятками классов, реализующих INotifyPropertyChanged.