我構建了一個簡單的轉換Add In,但其行爲與不同的Visio版本(Visio 2010 Professional和Visio 2010 Premium)不同。 Add In接受一個用Stencil_1.vss中的Shapes創建的Process-Diagram,並用Stencil_2.vsd中的Shapes創建一個新的略有不同的Process-Diagram。它通過一個Visio頁面循環,併爲每個形狀創建一個新的形狀從新的主形狀(從Stencil_2.vsd),並將其放入新頁面。幾何,字幕等都是一樣的,只有形狀外觀改變了。下面是源圖:當我運行的代碼爲Visio 2010專業泳道形狀繪製正確相同的C#代碼在Visio Professional和Premium中產生不同的輸出
。
當我運行從Visio高級相同的代碼的泳道的外觀和佈局不匹配:
這兩次I(來自相同的模版「泳道」)下降相同的形狀進帶有SAME代碼片段的頁面:
Visio.Master vm = swimlane_stencil.Masters.get_ItemU(@"Swimlane");
Visio.Shape TargetShape = targetPage.Drop(vm, shape_x, shape_y);
如何確保代碼在任何時間產生相同(正確)的輸出?我必須禁用泳道形狀表中的任何(高級)功能嗎?