我沒有做我自己,但它是我的「如果我有我會做一個時間「-projects。 因此我仍然在尋找一個現有的實現:-P
不管怎麼說一些想法:
的applroach使用視覺效果(即橢圓的TextBlocks)可能不是一個好主意。 只要想想要發生什麼,如果你想像200x100字符。也許甚至是一個backbuffer。把它全部放在記憶中+畫出來......它會非常慢。
因此,更好的(或者甚至是正確的)方法是「畫自己」。由於WPF是反向緩衝的,並且你不想顯示任意位圖,所以最可能的方法是創建一個新的UserControl並覆蓋它的Paint-Method。 你可能喜歡從Control派生,但UserControl可能有內容,所以你可以在裏面顯示類似連接指示符的圖標。
體系結構明智我建議創建一個依賴屬性緩衝區(ConsoleBuffer
)持有控制檯緩衝區模型。另一個DP將保持左上位置位置(long
)。它決定了開始顯示的位置(當你看後面的時候)。控制檯模型我會做一個包含char[]
和Color[]
(一維)的類。使用換行符和\n
字符來生成行(因爲這是控制檯的角色)。然後,如果調整控件大小,它將會重新流動,而不需要重新分配緩衝區。 您可以使用不同大小的** ConsoleBuffer **(對於不同數量的字符)。
ConsoleBuffer.Write(string s)
是你做東西的方法。
也許建議持有數組陣列char[][]
來代表行....但是這需要在編程時發現。
沒有看起來更像......控制檯窗口控制檯窗口。 – 2013-02-19 01:16:00
這可能會有所幫助,如果它會有幫助。請詳細說明一下。 – FrankyTheDumb 2013-02-19 01:41:35
您可以設置ListBox的樣式並使用TextBoxes作爲項目,並使用上一個TextBox可編輯鍵入命令,然後輸入處理輸入的文本使TextBox只讀並向底部添加新的文本框 – 2013-02-19 01:45:00