WPF中的上下文文本编辑器

时间:2012-07-09 16:05:00

标签: c# .net wpf

我们目前正在寻找在WPF(.NET 4.0)中创建文本编辑器,这将允许我们团队中的编写者创建电影脚本。简而言之,功能应该重新组合FinalDraft或Adobe Story(即:文本的上下文定位,具体取决于光标的位置和用户意图)

我们目前正在设计两种不同的解决方案:

  • 一个WPF控件,它将充当容器,以及多个小文本编辑控件,它们将代表脚本中的行。这将允许我们使用它们的边距定位控件,同时还使绑定变得容易。这里的挑战是处理多线选择。我在考虑使用Listbox作为容器,每个列表框项目都是包含文本框的自定义控件。这将需要根据用户的操作实例化控件。所有内容都会被剥皮,以给人一种用户正在处理空白页面的印象。

  • 一个能够显示自定义XML数据的大文本框。这里的挑战是确定光标的确切位置(即:光标位于演员姓名的顶部等)并适当地定位文本(即:演员名称居中并以大写字母等表示)

我最近尝试实现第一个解决方案,但是必须重新实现基本文本框中内置的整个选择行为是非常重要的,需要大量工作。至于第二种解决方案,绑定到我的业务对象将比简单地使用不同的绑定实例化多个控件要困难得多。

你还有其他解决方案吗?

1 个答案:

答案 0 :(得分:1)

我需要一次应用程序的文本编辑器。我们有一个大的xml文件用于设置,用户应该可以编辑它们。

事实证明,如果您的文件足够大(+ 10000行),则富文本框的 pritty 会变慢。

至于建立一个gui面具:只有你的用户有一些短文选项。但我明白你想要你的用途写出创新文本。这个“面具”gui - “很多小地方”会让他们感觉像是在80年代。

我建议:不要编写Programm,只需将插件写入退出编辑器。有些是免费的: http://www.codeproject.com/Articles/42490/Using-AvalonEdit-WPF-Text-Editor  或者添加一个词 - 人们喜欢Word并且知道Word http://www.codeproject.com/Articles/8837/Writing-a-Word-Add-in-Part-I

对于绑定数据等:一旦写入文本,用户只需按下保存按钮即可解析输入信息。我不会在飞行中这样做,因为它可能变得很慢。另外你说信息是链接的,所以只有写完所有数据才能使用它。