WinForms 或 WPF 的文本差异可视化控件

Posted

技术标签:

【中文标题】WinForms 或 WPF 的文本差异可视化控件【英文标题】:Text diff visualization control for WinForms or WPF 【发布时间】:2010-09-13 09:40:34 【问题描述】:

我的previous question 的延续,文本差异可视化有什么好的控件吗?

类似于 *** 的修订差异查看器,但用于 WinForms 或 WPF

要求:

免费,最好是开源的 基于 WPF 或 WinForms

请不要应用程序,只有组件。

我对 OSS 差异工具不感兴趣

【问题讨论】:

【参考方案1】:

(作为 GitSharp 的一部分)有一个 C# 中的开源差异引擎,具有非常易于使用的 API 和(作为 GitSharp.Demo 的一部分)一个 WPF 差异查看器。从项目中提取代码应该不会太难。

在此处查找更多信息:http://www.eqqon.com/index.php/GitSharp#GitSharp.Demo

【讨论】:

【参考方案2】:

可能还想看看MeneesDiffUtils。有一堆与差异相关的实用程序,包括可视化控件。提供了完整的源代码,并在名为 CharityWare 的许可下。

【讨论】:

有一个 WPF project 关注将实现从 Bill Menees 移植到 WPF【参考方案3】:

我从未听说过用于差异可视化的特定 .NET 组件(它有点小众),但也许您可以依靠高级编辑器轻松构建自己的组件。

Syncfusion 提出了一个专用于文本/代码版本的complete component suite,其中包含许多您可能会觉得有用的内置功能:

Line and selection background Text highlighting(彩色下划线、波浪线、边框、罢工等) Selection margin Text selection Syntax highlighting

重要提示:它不是免费的。

【讨论】:

AvalonEdit 也支持所有这些功能 - 重要提示:它是免费的【参考方案4】:

我推荐DiffPlex。它是netstandard1.0,重量很轻。

您可以使用 RichTextBox 将其轻松嵌入到您的 WPF 应用程序中,如下所示:https://github.com/halllo/WpfDiff

【讨论】:

以上是关于WinForms 或 WPF 的文本差异可视化控件的主要内容,如果未能解决你的问题,请参考以下文章

如何在视频控件上方添加透明控件,例如在 mediaelement 上的 wpf 标签

如何在 WPF 或 WinForms 中呈现公式

在默认 AppDomain 中的 Winforms 中托管 WPF 用户控件的弹出窗口中的选项卡导航损坏

WinForms中的WPF控件[关闭]

将 WPF 控件与 WinForms 一起使用

WPF 引发异常解析 XAML,其中包括 Winforms 用户控件