0

Visual Studio 2005 用の DSL ツールを使用しています。

特定の時点で、カスタム コードを使用して新しいダイアグラムを作成したい DSL があります。

ここまでで、既に開いている現在のダイアグラムを上書きして、新しいダイアグラムを作成することができました。コードは次のとおりです。

FEGeneratorDiagram diag = new FEGeneratorDiagram(ThisElem.Store);
diag.Associate(ThisElem);
FEGeneratorDiagram currentDiag = (FEGeneratorDiagram)ThisElem.Store.ElementDirectory.FindElements<FEGeneratorDiagram>(false)[0];
currentDiag = diag;

しかし、私が本当にやりたいことは、

新しいインスタンス FEGeneratorDiagram を使用して新しい DSL ドキュメントを作成し、要素を追加してプロパティを設定する私のロジックを続けます。

何か助けはありますか?

4

1 に答える 1

0
//Create a Store
Type[] modelTypes = new Type[] { typeof(CoreDesignSurfaceDomainModel), typeof(FEGeneratorDomainModel) };
Store store = new Store(modelTypes);
RootElement root;
using (Transaction t =
store.TransactionManager.BeginTransaction("Create Elements"))
{
    root = FEGeneratorSerializationHelper.Instance.LoadModel(store, diagramPath, null, null);
    t.Commit();
}
//Do whatever custom things you want!

SerializationResult result = new SerializationResult();
//Save the file
FEGeneratorSerializationHelper.Instance.SaveModel(result, root, diagramPath);
于 2008-11-12T19:02:30.883 に答える