A WYSIWYG Markdown control for Windows Forms?[我们有一个Windows Forms数据库前端应用程序,除其他外,它可以用作CMS;客户创建结构,填充它,然后使用基于ASP.NET WebForms的站点将结果公开显示在Web上。为了增加灵活性,有时会迫使他们直接在文本字段中输入实际的HTML标记,然后在数据库中将其作为varchar结束。这可行,但远非用户友好。] 正因为如此……有些客户想要HTML的WYSIWYG编辑器。我想说服他们,他们将从使用更简单的语言(即Markdown)中受益。理想情况下,我想拥有的是一个所见即所得的编辑器。他们不需要表或类似的东西。 粗略的搜索显示出一个.NET Markdown转HTML转换器,然后我们有了一个基于Windows窗体的文本编辑器,该编辑器输出HTML,但显然没有任何东西可以将两者结合在一起。结果,我们仍然可以在其中保留带有标记的varchars,但至少它是既易于阅读又易于解析的。 这是可行的吗?这是一个输出Markdown的WYSIWYG编辑器,随后将其解析为ASP.NET中的HTML。还有其他建议吗? 我认为最好的方法是结合 @Soeren, 您绝对可以将IE与Java Markdown编辑器嵌入Windows窗体应用程序中。 " WYSIWYG Markdown"确实是一个矛盾之处,因为Markdown的全部目的是允许您自然而直观地编写标记语法,然后将其后处理为html,除非您实际使用例如** text **和例如,将其呈现为"文本"。这实际上是很酷的,但是对于编号和项目符号列表之类的东西来说将变得非常困难,因为您必须进行所有定位,但要使所有内容都基于实际的文字字符(例如," *"而不是项目符号) ),并支持正确的文本输入位置,退格键等。
如果有人解决了,那肯定值得关注。
因此,您想使用Markdown,但又希望用户不知道吗?这可能不是可以实现的目标。我认为Markdown的目的是针对那些愿意学习一些相当自然的语法并以纯文本形式编辑所有内容的作家(例如Wikipedia?是否有纯属所见即所得的编辑器?可能……以及可能一些维基百科的其他编辑人员必须来清理结果标记和格式...)。如果您希望它对用户透明(例如MS Word),则Markdown可能不是您想要的,或者没有给您带来这种情况下广告的优势。
糟糕!现在,我更好地理解了您的问题。我想这取决于您的Windows Forms应用程序的外观,嵌入式IE控件是否像拇指一样伸出来。如果尝试使用它,您可能会发现它可以正常工作。[1] 在您的位置上,我会尝试这样的方法[2]:
如果您认为这种安排不能很好地适应您的用户(特别是在纯文本窗口中的所有编辑),那么我再次认为Markdown并不是您的特定应用程序的答案。如果您认为您的用户热衷于编辑纯文本的想法,那么我敢打赌,我们可以找到一个解决方案。请说明吗? 讨厌。 [1]我成功地将IE HTML控件严格放入项目中,以将生成的某些结果显示为PDF(使用诸如Adobe Reader或Foxit之类的IE Reader插件)。用户不知道GUI的那部分是IE控件,只显示PDF,允许打印和保存等。 [2] ...但是删除边框,并使两个拆分控件触摸嵌入式IE控件的所有四个边缘,或者变得非常接近...例如,使其保持浅灰色或白色,并消除任何边框IE控件的控件,因此它与周围的控件融合在一起。也许将其放在自己的选项卡页面上,然后我挑战非技术用户来告诉/关心它是HTML控件还是本机控件。 对于这一切我可能完全错了(必须在实际操作中确定它是否可以工作),但是这可能比编写自己的交互式Markdown编辑器更容易... ...实际上是要实现自己的C#Markdown编辑器,您只需在嵌入式IE控件旁边放置一个文本编辑框,然后通过.NET Markdown-> HTML转换器在单独的线程上运行当前的Markdown,然后替换IE控件中的HTML(假设Markdown-> HTML转换器非常自由并且健壮,可以防止抛出任何异常)。 您不能只使用我与Stack Overflow使用的相同控件(我们都在其中键入)--- WMD,然后将Markdown存储在VARCHAR中。然后,如前所述,使用.NET Markdown到HTML转换器,根据需要显示HTML。 Jeff在StackOverflow播客中更详细地讨论了这一点(不知道剧集的编号)。 |