加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

.net – Windows WPF或Silverlight中的VT100终端仿真

发布时间:2020-12-13 20:34:57 所属栏目:Windows 来源:网络整理
导读:我正在考虑创建一个像终端窗口一样的WPF或Silverlight应用程序.除了,因为它在WPF / Silverlight中,它将能够通过效果,图像等“增强”终端体验. 我正在试图找出模拟终端的最佳方法.我知道如何处理VT100仿真,就解析等而言.但是如何显示呢?我考虑过使用RichText
我正在考虑创建一个像终端窗口一样的WPF或Silverlight应用程序.除了,因为它在WPF / Silverlight中,它将能够通过效果,图像等“增强”终端体验.

我正在试图找出模拟终端的最佳方法.我知道如何处理VT100仿真,就解析等而言.但是如何显示呢?我考虑过使用RichTextBox并将VT100转义代码转换为RTF.

我看到的问题是性能.终端可能一次只能获得几个字符,并且为了能够将它们加载到文本框中,我将不断创建TextRanges并使用Load()来加载RTF.此外,为了完成每个加载“会话”,它必须完全描述RTF.例如,如果当前颜色为红色,则每个加载到TextBox中都需要RTF代码才能使文本变为红色,或者我认为RTB不会将其加载为红色.

这似乎非常多余 – 由仿真构建的RTF文档将非常混乱.此外,插入符号的移动似乎不是理想情况下RTB处理的.我需要一些自定义的东西,但这让我很害怕!

希望听到明亮的想法或指向现有解决方案.也许有一种方法可以在它上面嵌入一个实际的终端和覆盖物.我发现的唯一的东西是旧的WinForms控件.

更新:在下面的答案中查看由于perf的建议解决方案是如何失败的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读