我们目前正在寻求在 WPF (.NET 4.0) 中创建一个文本编辑器,这将允许我们团队中的作者创建电影脚本。简而言之,功能应该类似于 FinalDraft 或 Adobe Story 的功能(即:文本的上下文定位取决于光标的位置和用户意图)
我们目前正在研究两种不同的设计解决方案:
一个 WPF 控件将充当容器,多个小的文本编辑控件将表示脚本中的行。这将允许我们使用它们的边距定位控件,同时也使绑定变得容易。这里的挑战是处理多行选择。我正在考虑使用列表框作为容器,每个列表框项都是包含文本框的自定义控件。这将需要根据用户的操作来实例化控件。一切都将被剥皮,以给人一种用户正在空白页面上工作的印象。
一个能够显示自定义 XML 数据的大文本框。这里的挑战是确定光标的确切位置(即:光标位于演员姓名的顶部等)并适当地定位文本(即:演员姓名居中并大写等)
我最近尝试实现第一个解决方案,但必须重新实现基本文本框中内置的整个选择行为并非易事,并且需要大量工作。至于第二种解决方案,绑定到我的业务对象将比简单地实例化具有不同绑定的多个控件要困难得多。
您还有其他解决方案吗?