6

現在、WPF(.NET 4.0)でテキストエディターを作成することを検討しています。これにより、チーム内のライターがムービースクリプトを作成できるようになります。つまり、機能はFinalDraftまたはAdobe Storyの機能に似ている必要があります(つまり、カーソルの位置とユーザーの意図に応じたテキストのコンテキスト配置)

現在、設計面で2つの異なるソリューションを検討しています。

  • コンテナーとして機能する1つのWPFコントロールと、スクリプト内の行を表す複数の小さなテキスト編集コントロール。これにより、マージンを使用してコントロールを配置できると同時に、バインドも簡単になります。ここでの課題は、複数行の選択の処理です。リストボックスをコンテナとして使用することを考えていました。各リストボックスアイテムは、テキストボックスを含むカスタムコントロールになります。これには、ユーザーのアクションに応じてコントロールのインスタンス化が必要になります。ユーザーが空白のページで作業しているような印象を与えるために、すべてがスキンされます。

  • カスタムXMLデータを表示できる1つの大きなテキストボックス。ここでの課題は、カーソルが正確にどこにあるか(つまり、俳優の名前の上にカーソルがあるかなど)を特定し、テキストを適切に配置することです(つまり、俳優の名前が中央に配置され、大文字で囲まれているなど)。

最近、最初のソリューションを実装しようとしましたが、基本的なテキストボックスに組み込まれている選択動作全体を再実装する必要があるのは簡単ではなく、多くの作業が必要です。2番目の解決策については、ビジネスオブジェクトへのバインドは、異なるバインドで複数のコントロールを単純にインスタンス化するよりもはるかに困難です。

他に解決策を考えていますか?

4

1 に答える 1

1

アプリケーション用のテキスト エディタが必要になったことがあります。設定用の大きな xml ファイルがあり、ユーザーはそれらを編集できるはずです。

ファイルが十分に大きい場合 (+ 10000 行)、リッチ テキスト ボックスの表示が非常に遅くなります。

GUIマスクの作成に関しては、ユーザーがテキストなどの短いオプションを作成した場合のみ。しかし、ユーザーに創造的なテキストを書いてほしいと思っていることは理解しています。この「マスク」のグイ - 「たくさんの小さな場所」は、80年代にいるような気分にさせます.

私は提案します: Programm を書かないでください。既存のエディタにプラグインを書くだけです。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 に答える