C#を使用してコンテナの内容(子)に到達しようとしています。 ページに描画されていてもマスターに変換された場合はうまく動作しますが、「コンテナ」として認識されなくなりました。C#Visioコンテナ
たとえば、 [挿入]タブから新しいコンテナを作成します。 「ホーム」タブから、コンテナ内に2つの矩形を描画し、それぞれにテキストを入力してから「基になるコンテナに追加」します。
この後、次のコードは2つの長方形名&テキストを報告します。
ただし、マスターを作成するために、コンテナをステンシルにドラッグします。 次に、マスターをページにドラッグしてインスタンスを作成します。
コードでは、MemberShapesがまったく見つかりません。
私は間違っていますか? アドバイス/ガイダンスをいただきました!
foreach (Microsoft.Office.Interop.Visio.Shape shape in Globals.ThisAddIn.Application.ActivePage.Shapes)
{
System.Diagnostics.Debug.WriteLine(shape.Name);
if (shape.ContainerProperties != null) {
foreach (int memberID in shape.ContainerProperties.GetMemberShapes(0)) {
Microsoft.Office.Interop.Visio.Shape vsoShape = Globals.ThisAddIn.Application.ActivePage.Shapes.ItemFromID[memberID];
Debug.Print(vsoShape.Name);
Debug.Print(vsoShape.Text);
}
}
}