Я работаю над проектом, в котором используется Visio's Drawing Control, встроенный в приложение WPF. Я могу разместить элемент управления и использовать его в своем приложении, но у меня возникают некоторые проблемы с изменением размера фигур.
Вот проблема.
в обработчике событий ShapeAdded я пытаюсь изменить размер фигуры с помощью этого кода
e.shape.get_CellsSRC(
(short)Microsoft.Office.Interop.Visio.VisSectionIndices.
visSectionObject,
(short)Microsoft.Office.Interop.Visio.VisRowIndices.
visRowXFormOut,
(short)Microsoft.Office.Interop.Visio.VisCellIndices.
visXFormHeight).set_Result("CM", height);
e.shape.get_CellsSRC(
(short)Microsoft.Office.Interop.Visio.VisSectionIndices.
visSectionObject,
(short)Microsoft.Office.Interop.Visio.VisRowIndices.
visRowXFormOut,
(short)Microsoft.Office.Interop.Visio.VisCellIndices.
visXFormWidth).set_Result("CM", width);
Этот код работает, но работает следующим образом:
- фигура имеет в чертеже элемент управления точно заданную ширину и высоту (соответственно линейкам)
- высота и ширина формы умножаются на 96.
Так что, если я использую height = width = 1, я получаю форму, которая на бумаге равна 1 см * 1 см, но по своим свойствам она говорит, что она равна 96 см * 96 см.
Я думаю, что это проблема, связанная с независимыми от устройств единицами WPF, но я не понимаю, как ее решить.
Надеюсь, вы сможете мне помочь.
Спасибо!
Приветствия.
-Francesco