現在、WPF(.NET 4.0)でテキストエディターを作成することを検討しています。これにより、チーム内のライターがムービースクリプトを作成できるようになります。つまり、機能はFinalDraftまたはAdobe Storyの機能に似ている必要があります(つまり、カーソルの位置とユーザーの意図に応じたテキストのコンテキスト配置)
現在、設計面で2つの異なるソリューションを検討しています。
コンテナーとして機能する1つのWPFコントロールと、スクリプト内の行を表す複数の小さなテキスト編集コントロール。これにより、マージンを使用してコントロールを配置できると同時に、バインドも簡単になります。ここでの課題は、複数行の選択の処理です。リストボックスをコンテナとして使用することを考えていました。各リストボックスアイテムは、テキストボックスを含むカスタムコントロールになります。これには、ユーザーのアクションに応じてコントロールのインスタンス化が必要になります。ユーザーが空白のページで作業しているような印象を与えるために、すべてがスキンされます。
カスタムXMLデータを表示できる1つの大きなテキストボックス。ここでの課題は、カーソルが正確にどこにあるか(つまり、俳優の名前の上にカーソルがあるかなど)を特定し、テキストを適切に配置することです(つまり、俳優の名前が中央に配置され、大文字で囲まれているなど)。
最近、最初のソリューションを実装しようとしましたが、基本的なテキストボックスに組み込まれている選択動作全体を再実装する必要があるのは簡単ではなく、多くの作業が必要です。2番目の解決策については、ビジネスオブジェクトへのバインドは、異なるバインドで複数のコントロールを単純にインスタンス化するよりもはるかに困難です。
他に解決策を考えていますか?