2

私は:を持ってCanvasRectangleます

<Canvas>
   <Rettangle/>
</Canvas>

そして、Canvasのサイズを変更するときに、Rectangleが同じ相対位置を維持するようにします。たとえば次のようになります。

----------------------------------------
|                                      |
|                                      |
|           ____                       |
|          |    |                      |
|          |____|                      |
|                                      |
|--------------------------------------


--------------------
|                   |
|   ___             |
|   |__|            |
|                   |
|-------------------

どのようにできるのか?

4

2 に答える 2

4

すべてのものをビューボックスに入れてみませんか?

<Viewbox Stretch="Fill">
    <Canvas Width="400" Height="300">
        <Rectangle Canvas.Left="100" Canvas.Top="100" Width="100" Height="100" Fill="Blue"/>
    </Canvas>
</Viewbox>
于 2012-06-23T15:19:49.647 に答える
1

考えられる最善の解決策は、独自のカスタムキャンバスを作成し、これらの質問で説明されている手法のいくつかを使用して、サイズ変更と再配置を実装することです。

WPFで相対的なポジショニングをどのように行いますか?

WPF:幅(および高さ)をパーセンテージ値として設定する

しかし、私にとって、この機能はズームと非常によく似ています。ウィンドウにCanvasしかない場合は、Kael RowanのZoomableCanvasに続いて使用し、ウィンドウのサイズが変更されたときに明示的にズームイン/ズームアウトすることができます。

http://blogs.msdn.com/b/kaelr/archive/2010/07/29/zoomablecanvas.aspx

于 2012-06-23T12:36:24.310 に答える