【问题标题】:Compare strings in WPF and highlight differences in Side by side window比较 WPF 中的字符串并在并排窗口中突出显示差异
【发布时间】:2014-11-07 09:05:23
【问题描述】:

我在一个 项目中工作,我需要比较两个字符串并在并排窗口中显示行号,并且必须用颜色突出显示差异。

我是 的新手,我对完成这项任务没有任何想法。

请帮帮我。

【问题讨论】:

  • 我想要一包永无止境的Tim Tams。请不要发布要求。告诉我们你做了什么研究。你试过什么?有代码吗? Read the manual
  • 太宽泛了!您要求的最终解决方案可能有一百万个版本。如果您尝试自己开始,那就更好了。从涵盖主要项目中的一两个细节的简单示例开始。然后,当你遇到困难时,来这里寻求帮助。你会得到很大的帮助。

标签: wpf wpf c# wpf


【解决方案1】:

您是否正在查看比较后的文本语法突出显示(或识别差异)?如果您想简单地突出显示文本,下面的链接可能会对您有所帮助。这个想法应该很简单:

  • 找出差异
  • 找到差异的开始和结束位置
  • 仅突出差异。

如果您想寻求简单的解决方案,请检查这些链接是否适合您:

此外,在 wpf 中有几个在线可用的语法高亮控件。您可以简单地搜索它。我曾经在 CodeProject 上遇到过 Fast Colored TextBox 的类似要求。希望这会有所帮助。

我认为这将是我可以针对此类通用问题提供的通用建议。或者您可能想更具体地说明您要突出显示的内容类型? TextBlock 中是富文本还是纯文本?正如上面的评论?你做过任何研究和考虑吗?以及任何代码可以提供有关该场景的想法?

【讨论】:

  • 老实说,我不认为这很简单。识别差异更像是应用Longest Common Subsequence Problem。算法是关键,OP 已经提出了很多要求,甚至没有提及他可能对 WPF 知之甚少并希望我们为他编写代码这一事实。
  • 您可能正确地引用了 LCS 问题并非小菜一碟的事实。但是,有很多开发人员在网上共享他们的代码,所以我们永远不必重新发明轮子。这是one link - 它非常简单 - 只需包含一个类 Diff.cs。但这可能适用于简单的场景。我同意 OP 提供的信息已经太有限,无法提出任何具体建议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-19
  • 2017-06-06
  • 1970-01-01
  • 2016-03-26
相关资源
最近更新 更多