11

これはとても単純な質問のように思えますが、私は1時間試してみて、それを理解できないようです。

私がやりたいのは、メインウィンドウをキャンバスで埋めることだけです。これを許可するプロパティが見つかりませんでした。これを行うために考えられる唯一の方法は設定することですがCanvas.Width/Height = MainWindow.Width/Height、ウィンドウのサイズが変更されるたびにそれを行う必要があります。

WinFormsでは、親コンテナに要素をドッキングするのは簡単でした。

4

4 に答える 4

21

キャンバスを設定するだけです。「ストレッチ」へのHorizo ​​ntalAlignmentVerticalAlignment 。これにより、CanvasはUI要素を含むスペースから利用可能なスペースを埋めます。幅/高さを明示的に指定しないように注意してください。

XAMLでは、これは次のとおりです。

<Window ...Other window props... >
    <Canvas HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
        <!-- Canvas items here... -->
    </Canvas>
</Window>
于 2011-01-12T18:10:38.247 に答える
3

WPFでは、アイテムをDockPanel内に配置し、Dockの継承されたプロパティを使用してドッキングを実行できます。ただし、ウィンドウ全体をキャンバスにしたい場合は、ウィンドウのコンテンツがキャンバスであり、別の種類のパネルではないようにするだけです。

<Window ...>
    <Canvas>
        <!-- blah blah -->
    </Canvas>
</Window>
于 2011-01-12T18:14:17.747 に答える
3

これをキャンバスの幅と高さにxamlで入力します。

Width="{Binding Path=ActualWidth, ElementName=Window1}"
Height="{Binding Path=ActualHeight, ElementName=Window1}"

ウィンドウのサイズを変更すると、それに応じて変更されます

于 2011-01-12T18:10:55.113 に答える
0

気にしないでください、それはあなたが追加する必要があるようですDockPanel

<DockPanel Name="dockPanel1">
    <Canvas Name="canvas1" Background="White"></Canvas>
</DockPanel>
于 2011-01-12T18:13:39.200 に答える