对于我的 WPF 应用程序,我使用 TextWriterTraceListener 记录到一个文本文件。我还可以如何将 Trace 输出显示到文本框?
最佳答案
我将其用于 C# winforms,应该可以轻松调整为 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);当您不再需要它时。
关于c# - 跟踪监听器以写入文本框(WPF 应用程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1389264/