2017-04-17 1 views
1

Ich erstelle einen FileSystemWatcher in einem separaten Thread, um ein Verzeichnis auf Änderungen zu überwachen. Keines meiner Ereignisse wird ausgelöst, wenn ich eine neue Datei hinzufüge oder eine neue Datei in das Verzeichnis kopiere, das ich überwachen möchte. Ich habe die FileSystemWatcher-Klasse erfolgreich in Windows Forms-Apps verwendet, daher vermute ich, dass mir etwas Einfaches fehlt.Warum löst mein FileSystem Watcher keine Ereignisse aus?

public partial class MainWindow : Window 
{ 

    System.IO.FileSystemWatcher watcher; 
    public MainWindow() 
    { 
     InitializeComponent(); 
     System.Threading.Thread t1 = new System.Threading.Thread(MonitorDir); 
     t1.IsBackground = true; 
     t1.Start(); 
    } 

    private void MonitorDir() 
    { 

     watcher = new System.IO.FileSystemWatcher("C:\\Temp","*.*"); 
     watcher.Created += Watcher_Created; 
     watcher.Disposed += Watcher_Disposed; 
     watcher.Error += Watcher_Error; 
     watcher.Changed += Watcher_Changed; 
     while (true) 
     { 

     } 
    } 

    private void Watcher_Changed(object sender, System.IO.FileSystemEventArgs e) 
    { 
     throw new NotImplementedException(); 
    } 

    private void Watcher_Error(object sender, System.IO.ErrorEventArgs e) 
    { 
     throw new NotImplementedException(); 
    } 

    private void Watcher_Disposed(object sender, EventArgs e) 
    { 
     throw new NotImplementedException(); 
    } 

    private void Watcher_Created(object sender, System.IO.FileSystemEventArgs e) 
    { 
     throw new NotImplementedException(); 
    } 
} 
+0

Mögliche Duplikat [Filesystemwatcher Ereignisse nicht Brennen] (http://stackoverflow.com/questions/16278783/filesystemwatcher-not-firing-events) –

+0

Hallo zusammen! Ich habe kein Feedback von Ihnen erhalten, haben Sie es geschafft, Ihr Problem zu lösen? –

Antwort

2

Sie müssen eingestellt sein EnableRaisingEvents property zu true (es ist false Standardeinstellung), sonst wird es keine Ereignisse auslösen.

watcher.EnableRaisingEvents = true; 
+0

Danke. Löste mein Problem. :) –

+0

@BillGreer: Ich bin froh, dass ich helfen konnte! Viel Glück! ;) –

Verwandte Themen