对于我的 WPF 应用程序,我使用 TextWriterTraceListener 将日志记录到文本文件.如何将 Trace 输出也显示到文本框?
For my WPF application I do logging to a text file using a TextWriterTraceListener. How can I also display the Trace output to a textbox?
我在 C# winforms 中使用这个,应该很容易调整到 wpf
I use this for C# winforms, should be easily adjustable to wpf
public class MyTraceListener : TraceListener
{
private TextBoxBase output;
public MyTraceListener(TextBoxBase output) {
this.Name = "Trace";
this.output = output;
}
public override void Write(string message) {
Action append = delegate() {
output.AppendText(string.Format("[{0}] ", DateTime.Now.ToString()));
output.AppendText(message);
};
if (output.InvokeRequired) {
output.BeginInvoke(append);
} else {
append();
}
}
public override void WriteLine(string message) {
Write(message + Environment.NewLine);
}
}
像这样使用它
TraceListener debugListener = new MyTraceListener (theTextBox);
Debug.Listeners.Add(debugListener);
Trace.Listeners.Add(debugListener);
记得 Trace/Debug.Listeners.Remove(debugListener);当你不再需要它时.
Remember to Trace/Debug.Listeners.Remove(debugListener); when you don't need it anymore.
这篇关于跟踪侦听器以写入文本框(WPF 应用程序)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!