在WPF文本框中复制完整的控制台输出?

问题描述:

我在我的C#代码中有几个地方,它们将事情输出到控制台。有些使用Console.Writeline,有些使用TraceListeners如System.Diagnostics.ConsoleTraceListener。在WPF文本框中复制完整的控制台输出?

现在我想在WPF文本框中显示所有输出。 是否有可能以某种方式将控制台输出1:1绑定到TextBox?

或者我是否必须更改TraceListeners或Console.Writeline的每个调用以将输出添加到textbox.text中?

+1

可能重复的[是否可以拦截控制台输出?](https://*.com/questions/6024172/is-it-possible-to-intercept-console-output) – ASh

您可以使用Console.OpenStandardOutput拦截Console.Writeline() - 这answerlink解释如何实现TextBoxStreamWriter和标准输出流注入它。

至于ConsoleTraceListener - 您应该可以编写基于TraceListener的自己的文本框,并将其分配给合适的TraceSources(因为它们支持多个跟踪侦听器)。这answer强调如何实施相同。

有关跟踪源和听众的更多细节可以在here找到。