Я не верю, что официальное заявление существует. Однако обычно это зависит от типа обновления, которое вы делаете. Если вы обновляете обычное свойство на ВМ, то не имеет значения, если вы обновляете свойство зависимости, тогда это имеет значение. Если вы добавляете или удаляете из списка, то это не имеет значения, если вы добавляете или удаляете из наблюдаемой коллекции, то это делает.
Как правило, я бы сказал, избегайте свойств зависимости в ВМ и используйте INotifyPropertyChanged, оставьте их своим пользовательским элементам управления. Тогда вам не нужно беспокоиться о них. Добавьте метод типа DoPropertyChanged (propertyname) в базовый класс для своей виртуальной машины, чтобы затем можно было создать фрагмент свойства, например VB. net
Private _MajorChange As String
Public Property MajorChange As String
Get
Return _MajorChange
End Get
Set(value As String)
_MajorChange = value
DoPropertyChanged("MajorChange")
End Set
End Property
C#
private string _MajorChange;
public string MajorChange
{
get
{
return _MajorChange;
}
set
{
_MajorChange = value;
DoPropertyChanged("MajorChange");
}
}
и быстро добавляем свойства к вашей виртуальной машине.
Мы также интенсивно используем свойства индекса и для этого также есть фрагмент. VB
Public Property PropertyName As String
Get
Return Me("ColumnName")
End Get
Set(value As String)
Me("ColumnName") = value
DoPropertyChanged("PropertyName")
End Set
End Property
C#
public string PropertyName
{
get
{
return <string>this("ColumnName");
}
set
{
this("ColumnName") = value;
DoPropertyChanged("PropertyName");
}
}