【发布时间】:2015-08-03 09:02:30
【问题描述】:
我的 WPF 项目和 FileSystemWatcher 类有一点问题。 在我的 MainWindow 类中,当在 UI 中单击“开始”按钮时,观察者开始观察文件夹。 一切正常,没有任何问题 - 观察者在创建文件时正确识别。 但是当观察者等待时,用户不可能在 UI 中做任何事情。例如应该可以点击停止...
private void Start_Click(object sender, RoutedEventArgs e)
{
rdbTextBox.Document.Blocks.Clear();
Start.IsEnabled = false;
rdbTextBox.Document.Blocks.Add(new Paragraph(new Run("Test gestarte-Warte auf Befund....")));
Stop.IsEnabled = true;
watcher = new FileSystemWatcher(ConfigSettings.Default.FilePath);
// Only watch text files.
// watcher.Filter = "*.bef";
watcher.Filter = "*.txt";
// Add event handlers.
watcher.Created += OnCreated;
// Begin watching.
watcher.EnableRaisingEvents = true;
// Wait until new file in folder
watcher.WaitForChanged(System.IO.WatcherChangeTypes.Created);
watcher.Dispose();
// Parse letter
edifactLetter = parser.ParseDocument(ConfigSettings.Default.FilePath + "\\" + fileName);
// Validate Letter
edifactVal.Validate(edifactLetter);
writeResults();
Start.IsEnabled = true;
}
private void OnCreated(object sender, FileSystemEventArgs e)
{
FileInfo file = new FileInfo(e.FullPath);
fileName = file.Name;
}
谁能解释我做错了什么? 谢谢!
【问题讨论】:
-
顺便说一句:
parseDocument和validate的方法不是传统的 - 它们应该是ParseDocument和Validate。
标签: c# wpf filesystemwatcher