Я думаю, что проблема в том, что, хотя вы уведомляете обязательную структуру об изменении свойства, фактическое значение свойства остается тем же.То есть, хотя список может переоценить значение его привязки ItemsSource, он обнаружит, что это все тот же экземпляр объекта , что и ранее.Например, представьте, что список реагирует на событие измененного свойства, похожее на приведенное ниже.
private void OnItemsSourceBindingChanged()
{
var newValue = this.EvaluateItemsSourceBinding();
if (newValue != this.ItemsSource) //it will be equal, as its still the same list
{
this.AddNewItems();
}
}
В вашем примере это будет означать, что он не будет переоценивать элементы.
Примечание: я не знаю , как работает список со свойством ItemsSource - я просто размышляю!