6

我们目前正在寻求在 WPF (.NET 4.0) 中创建一个文本编辑器,这将允许我们团队中的作者创建电影脚本。简而言之,功能应该类似于 FinalDraft 或 Adob​​e Story 的功能(即:文本的上下文定位取决于光标的位置和用户意图)

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

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

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

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

您还有其他解决方案吗?

4

1 回答 1

1

我曾经需要一个应用程序的文本编辑器。我们有一个用于设置的大 xml 文件,用户应该能够编辑这些文件。

事实证明,如果您的文件足够大(+ 10000 行),富文本框就会变得非常缓慢。

至于构建 gui 掩码:仅当您的用户写一些简短的选项(例如文本)时。但我了解您是否希望您的用户编写创意文本。这个“面具”gui - “很多小地方”会让他们觉得他们是 80 年代。

我建议:不要写 Programm ,只写一个 Plugin 到现有的编辑器。有些是免费的,例如:http: //www.codeproject.com/Articles/42490/Using-AvalonEdit-WPF-Text-Editor 或 word 插件 - 人们喜欢 Word 并了解 Word http://www.codeproject.com /Articles/8837/Writing-a-Word-Add-in-Part-I

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

于 2012-08-01T08:32:02.937 回答