WPF DependencyObject aufrufende Thread-Ausnahme

Ich habe den folgenden Code, der einen temporären Ordner erstellt und einen FileSystemWatcher verwendet, um nach Dateien zu suchen, die dem Ordner in der Location-Eigenschaft hinzugefügt wurden, und sie einer Liste hinzuzufügen: Scratchdisk.cs auf Pastebin. Die Idee ist, ein Scratchdisk-Objekt zu erstellen und FFmpeg-Videoframes extrahieren zu lassen. Der FileSystemWatcher erstellt eine Liste dieser Dateien, während FFmpeg sie erstellt, und die Liste wird als DependencyObject dargestellt, an das meine Benutzeroberfläche gebunden ist.

Ich binde an das Scratchdisk-Objekt wie folgt:

<ItemsControl ItemsSource="{Binding Source=ThumbnailScratchdisk, Path=FileList}">
...
</ItemsControl>

eim Erstellen des Objekts wird jedoch die folgende Ausnahme angezeigt:

A first chance exception of type 'System.InvalidOperationException' occurred in WindowsBase.dll

Additional information: The calling thread cannot access this object because a different thread owns it.

on line 28get { return (List<string>)GetValue(FileListProperty); }

Ich denke, ich brauche einen Dispatcher.Invoke irgendwo, aber ich habe keine Ahnung, wo, ich weiß nicht, wo der zweite Thread erstellt wird. Ich gehe davon aus, dass es etwas damit zu tun hat, dass FileSystemWatcher in die Dateiliste schreibt.

Irgendeine Hilfe

Vielen Dank

Antworten auf die Frage(6)

Ihre Antwort auf die Frage