2011-12-07 11 views
0

私は、WPFアプリケーションにhosetedされたVisioのDrawingコントロールを使用するプロジェクトに取り組んでいます。コントロールをホストしてアプリケーションで使用することはできますが、シェイプのサイズ変更にはいくつか問題があります。Visio Drawingコントロール(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

乗算されます=幅= 1紙の上に1cm * 1cmの形をしていますが、その性質上96cm * 96cmと言われています。 WPFのDevice Indipendent Unitsに関連する問題だと思いますが、解決方法は分かりません。

あなたが私を助けてくれることを願っています。 ありがとう! 乾杯。 -Francesco

答えて

0

問題は、3/32インチ= 1フィートの標準Visio Drawingスケール(アーキテクチャ)でした。 いくつかの計算を行うと、96の倍率が計算されます。私は描画の縮尺と紙の縮尺を変更しました。