Implementierung einer ListView mit einer CollectionViewSource - nicht aktualisiert?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Implementierung einer ListView mit einer CollectionViewSource - nicht aktualisiert?

Post by Anonymous »

Ich arbeite daran, eine ListView einzustellen, deren Quelle auf eine IVAR einer Mine -Klasse eingestellt ist, die CAT .

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;
Dies funktioniert ordnungsgemäß, und das Merkmal Objekte werden in meiner ListView ordnungsgemäß angezeigt. Zum Beispiel dies: < /p>

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.

...

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post