1

自動レイアウトのない単純な WPF アプリケーションを開発しています。目標は、ユーザーがクリック (マウスダウン) すると、要素 (textBlock など) がマウス クリックの位置に表示されることです。このために、1 行 1 列のグリッドに埋め込まれたキャンバス パネルとスクロール ビューア (表示可能) を使用しています。問題は次のとおりです。 1. アプリケーション ウィンドウのサイズを変更すると、スクロール ビューアがアクティブになりません。2. マウス ドラッグでキャンバスを自動拡張する機能が必要です。ユーザーがマウスを水平/垂直にドラッグすると、MS-Excel のようにキャンバスが拡大するはずです。

私はこれを理解するためにネットをたくさん検索しましたが、答えを得ることができません。この点でどんな助けも素晴らしいでしょう。事前にたくさんありがとう。

-P

4

1 に答える 1

1

この質問をした後、フリーフォームのレイアウトと自動サイズの設定方法を理解しました。誰かがそれを必要とするか、これを改善するためのより良い提案がある場合は、サンプル XAML を次に示します。

        <Ellipse Grid.Column="0" Fill="Red"/>
        <GridSplitter Grid.Column="1" HorizontalAlignment="Stretch"/>

        <!-- Creating a grid with one row and one column"-->
        <ScrollViewer x:Name="ServerLiistCanvasScrollViewer" 
                    HorizontalScrollBarVisibility="Auto" 
                    VerticalScrollBarVisibility="Auto"                         
                      Height="Auto" Width="Auto"
                    Grid.Column="2" >

            <Grid x:Name="drawingGrid" Grid.Column="2" 
                  VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
                  Background="Pink"
                  MouseDown="handleCanvasMouseDown">
            </Grid>        
        </ScrollViewer>


    </Grid>
于 2010-04-19T22:51:19.997 に答える