Code: Select all
private ObservableCollection _traits = new ObservableCollection();
public ObservableCollection Traits
{
get
{
return _traits;
}
}
public void AddTrait(Trait t)
{
_traits.Add(t);
// Is this redundant? Is one better than the other?
this.OnPropertyChanged("_traits");
this.OnPropertyChanged("Traits");
}
public IEnumerator GetEnumerator()
{
return _traits.GetEnumerator();
}
< /code>
Und dann zugewiesen ich die Eigenschaft Quelle < /code> dieser Eigenschaften < /code> Sammlung: < /p>
this.CollectionViewSource.Source = CurrentCat.Traits;
Code: Select all
void AddTraitButton_Click(object sender, RoutedEventArgs e)
{
if (this.CurrentCat != null)
{
this.CurrentCat.AddTrait(new Trait());
}
}
< /code>
scheint in der Benutzeroberfläche keinen Effekt zu haben sofort < /em>var oldSource = this.CollectionViewSource.Source;
this.CollectionViewSource.Source = null;
this.CollectionViewSource.Source = oldSource;
< /code>
Dann ordnungsgemäß die ListView < /code> aktualisiert. Aber ich bin sicher, es muss etwas geben, das ich fehlt, da ich gerne die Benutzeroberfläche beim Hinzufügen/Entfernen eines Elements aktualisieren kann.
...