0

ユーザーがキーボードを叩き始めたとき、または F2 を押したときに編集モードに入ることができない特定の形状 (TasksGroupShape) として、非常に単純な DSL を作成しました。

このシェイプは、Name というプロパティにリンクされた単純なテキスト デコレータ (Name と呼ばれる) を持つジオメトリ シェイプです。

モデル要素は TasksGroup と呼ばれ、ドメイン プロパティ Name を持つ NamedElement (抽象) と呼ばれる別のドメイン クラスから継承します。

このプロパティは、「Is Element Name」が true に設定された単純な文字列です。

これは、私が他の DSL プロジェクトで使用した単純な設計であり、うまく機能しました。

おそらくこれには何か問題がありますが、問題を見つけるためにどこを見ればよいかわかりません。

私は何かを忘れていますか?何が問題なのかを理解するためにブレークポイントをどこに置くべきかについて何かアドバイスはありますか?

4

1 に答える 1

0

raskal のおかげで、DSL Tools MSDN Forum でこれに対する答えが見つかりました。

問題は、シェイプに 2 つのテキスト デコレータが定義されていることでした。1 つは「Tasks Group」と呼ばれ、もう 1 つは「Name」と呼ばれます (これは Name プロパティにアタッチされています)。

「タスク グループ」デコレーターを再作成して、「名前」デコレーターがリストの最初のデコレーターになるようにすると、DSL が正しく動作し始めます。

どうやら目的の動作を実現するには、対応するテキスト デコレーターが最初のデコレーターでなければなりません。

于 2011-12-05T18:22:45.217 に答える