У меня странная проблема с C #, я пока не могу объяснить.На самом деле я планировал создать простую программу просмотра файлов, которая автоматически обновляет отображаемый текст, как только файл будет изменен, но это оказывается более сложным, чем я думал.1004 *
Теперь присвоение TextField (WPF) в измененном обработчике вызывает исключение System.InvalidOperationException
, сообщающее, что объект уже используется в другом потоке.Так почему я получаю это исключение и, что более важно, что мне нужно сделать, чтобы это работало?
edit
Кстати, я получаю исключение независимо от строки, которую яm назначение.
edit2
Полный текст исключения, но на немецком языке:
System.InvalidOperationException wurde nicht behandelt.
Message="Der aufrufende Thread kann nicht auf dieses Objekt zugreifen, da sich das Objekt im Besitz eines anderen Threads befindet."
Source="WindowsBase"
StackTrace:
bei System.Windows.Threading.Dispatcher.VerifyAccess()
bei System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
bei System.Windows.Controls.TextBox.set_Text(String value)
bei LiveTextViewer.Main.watcher_Changed(Object sender, FileSystemEventArgs e) in ...\Main.xaml.cs:Zeile 42.
bei System.IO.FileSystemWatcher.CompletionStatusChanged(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* overlappedPointer)
bei System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
InnerException: