跟踪侦听器写入一个文本框(WPF应用程序) [英] Trace listener to write to a text box (WPF application)
本文介绍了跟踪侦听器写入一个文本框(WPF应用程序)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有关我的WPF应用程序我使用TextWriterTraceListener会做记录到一个文本文件中。我怎样才能还显示跟踪输出到一个文本框?
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);
记住跟踪/ Debug.Listeners.Remove(debugListener);当你不需要它了。
Remember to Trace/Debug.Listeners.Remove(debugListener); when you don't need it anymore.
这篇关于跟踪侦听器写入一个文本框(WPF应用程序)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文