これはとても単純な質問のように思えますが、私は1時間試してみて、それを理解できないようです。
私がやりたいのは、メインウィンドウをキャンバスで埋めることだけです。これを許可するプロパティが見つかりませんでした。これを行うために考えられる唯一の方法は設定することですがCanvas.Width/Height = MainWindow.Width/Height
、ウィンドウのサイズが変更されるたびにそれを行う必要があります。
WinFormsでは、親コンテナに要素をドッキングするのは簡単でした。
キャンバスを設定するだけです。「ストレッチ」へのHorizo ntalAlignmentとVerticalAlignment 。これにより、CanvasはUI要素を含むスペースから利用可能なスペースを埋めます。幅/高さを明示的に指定しないように注意してください。
XAMLでは、これは次のとおりです。
<Window ...Other window props... >
<Canvas HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<!-- Canvas items here... -->
</Canvas>
</Window>
WPFでは、アイテムをDockPanel内に配置し、Dockの継承されたプロパティを使用してドッキングを実行できます。ただし、ウィンドウ全体をキャンバスにしたい場合は、ウィンドウのコンテンツがキャンバスであり、別の種類のパネルではないようにするだけです。
<Window ...>
<Canvas>
<!-- blah blah -->
</Canvas>
</Window>
これをキャンバスの幅と高さにxamlで入力します。
Width="{Binding Path=ActualWidth, ElementName=Window1}"
Height="{Binding Path=ActualHeight, ElementName=Window1}"
ウィンドウのサイズを変更すると、それに応じて変更されます
気にしないでください、それはあなたが追加する必要があるようですDockPanel
:
<DockPanel Name="dockPanel1">
<Canvas Name="canvas1" Background="White"></Canvas>
</DockPanel>