Était-ce utile?

La solution

Mon estimation initiale est que vous avez quelque chose comme ce qui suit pour le nœud racine:

public ObservableCollection<Entity> Entities
{
    get;
    set;
}

Alors, au lieu de faire quelque chose [bien] comme suit:

Entities.Clear();
foreach (var item in someSetOfItems)
    Entities.Add(item);

Vous faites quelque chose [mauvais] comme ceci:

Entities = new ObservableCollection<Entity>(someSetOfItems);

Vous devriez être en mesure de traquer la question en faisant le domaine de soutien de la propriété des entités readonly:

private readonly ObservableCollection<Entity> _entities
    = new ObservableCollection<Entity>();

public ObservableCollection<Entity> Entities
{
    get
    {
        return _entities;
    }
}

Autres conseils

Des explications complémentaires, de temps pour répondre à venir, mais je crois que si vous faites la liaison en XAML, puis dans le code attribuer un nouvel objet à la propriété que vous cassez la liaison, de sorte que vous devrez refaire la liaison en le code pour que cela fonctionne. D'où la solution avec le champ de stockage en lecture seule. Si vous le faites comme ça, vous ne serez pas en mesure d'attribuer une nouvelle ObservableCollection et vous ne cassera pas la liaison en attribuant un nouvel objet dans le champ de support.

scroll top