2017-08-14 562 views
0

我在我的C#代碼中有幾個地方,它們將事情輸出到控制檯。有些使用Console.Writeline,有些使用TraceListeners如System.Diagnostics.ConsoleTraceListener。在WPF文本框中複製完整的控制檯輸出?

現在我想在WPF文本框中顯示所有輸出。 是否有可能以某種方式將控制檯輸出1:1綁定到TextBox?

或者我是否必須更改TraceListeners或Console.Writeline的每個調用以將輸出添加到textbox.text中?

+1

可能重複的[是否可以攔截控制檯輸出?](https://stackoverflow.com/questions/6024172/is-it-possible-to-intercept-console-output) – ASh

回答

2

您可以使用Console.OpenStandardOutput攔截Console.Writeline() - 這answerlink解釋如何實現TextBoxStreamWriter和標準輸出流注入它。

至於ConsoleTraceListener - 您應該可以編寫基於TraceListener的自己的文本框,並將其分配給合適的TraceSources(因爲它們支持多個跟蹤偵聽器)。這answer強調如何實施相同。

有關跟蹤源和聽衆的更多細節可以在here找到。