2011-12-07 3 views
0

WPF 응용 프로그램에서 hoseted 된 Visio의 드로잉 컨트롤을 사용하는 프로젝트에서 작업하고 있습니다. 컨트롤을 호스팅하고 응용 프로그램에서 사용할 수 있지만 셰이프의 크기를 조정하는 데 문제가 있습니다.Visio 드로잉 컨트롤 (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); 

이 코드가 작동하는 것 같다이 코드를 사용하여 도형의 크기를 변경하려고하지만, 다음과 같이 일 해요 :

  • 모양은 그림 컨트롤 정확히 폭이 높이 (따라서 룰러에) 지정된
  • 높이와 형상의 폭 I는 높이 사용 그렇다면 96

승산 = 너비 = 1 종이 위에 1cm * 1cm이지만 그 성질은 96cm * 96cm라고하는 모양을 얻습니다. WPF의 Device Indipendent Units와 관련된 문제라고 생각하지만 해결 방법을 찾지 못했습니다.

희망을 보내 주시면 감사하겠습니다. 감사합니다. 건배. -Francesco

답변

0

문제는 3/32 인치 = 1 피트 인 표준 Visio 그리기 배율 (아키텍처)입니다. 몇 가지 수학을하면 96 배가됩니다. 나는 도면의 크기와 용지의 크기를 수정했다.