Um dynamische Bindungen einzurichten, bei denen die Benutzeroberfläche automatisch nach Einfügungen oder Löschungen in der Auflistung aktualisiert wird, muss die Auflistung die INotifyCollectionChanged-Schnittstelle implementieren. Diese Schnittstelle macht das CollectionChanged Ereignis verfügbar, ein Ereignis, das ausgelöst werden sollte, wenn sich die zugrunde liegende Auflistung ändert.
Was mir noch aufgefallen ist, aber ich bin absoluter Anfänger, warum hast du eine Klasse PluginList die eine IList<Plugin> hat und im ViewModel eine ObservableCollection<Plugin> PluginList.