Итак, в вашей модели представления есть ObservableCollection элементов (скажем, ObservableCollection).Вам нужно убедиться, что MyItem (то есть каждый элемент в коллекции) происходит от INotifyPropertyChanged.Затем, когда вы изменяете элементы в коллекции, запускается событие PropertyChanged.WPF List View подберет его.
RaisePropertyChanged, описанный другими комментаторами, является служебным методом, обычно добавляемым в классы VM (часто в общий базовый класс всех классов VM).Это вызывает событие PropertyChanged:
protected void RaisePropertyChanged( string prop ) {
if( PropertyChanged != null ) {
PropertyChanged( this, new PropertyChangedEventArgs(prop) );
}
}
Как описано другими комментаторами, нет ничего, что предписывало бы вам инициировать событие PropertyChanged только изнутри сеттера.В вашем методе Copy просто вызовите RaisePropertyChanged с соответствующими именами свойств (вы можете вызывать его несколько раз для каждого измененного свойства).
EDIT: для строки состояния, если вы хотите следовать MVVMшаблон проектирования, вы не должны вызывать методы из виртуальной машины в представление (это ключевое понятие в MVVM: ViewModel является независимым от представления).Вы должны просто вызвать метод RaisePropertyChanged для всех свойств, управляющих строками состояния.