私は「ウィンドウ」に関して2つのサイズの問題を抱えています。基本的なレイアウトはこんな感じです
<Window MaxHeight="{DynamicResource {x:Static SystemParameters.VirtualScreenHeight}}"
MaxWidth="{DynamicResource {x:Static SystemParameters.VirtualScreenWidth}}"
>
<StackPanel>
<DockPanel LastChildFill="False">
<StackPanel DockPanel.Dock="Left"
Orientation="Horizontal">
<!--Some buttons-->
</StackPanel>
<StackPanel DockPanel.Dock="Right"
Orientation="Horizontal">
<!--Some buttons-->
</StackPanel>
</DockPanel>
<ScrollViewer>
<WrapPanel x:Name="Container">
</WrapPanel>
</ScrollViewer>
</StackPanel>
</Window>
1)ウィンドウがDockPanelの幅よりも水平方向に小さくならないようにするにはどうすればよいですか?
2)ScrollViewerをWindowの範囲内に制限するにはどうすればよいですか?それはウィンドウの境界を越えて広がって、その内容にそれ自身をサイズ設定しています。
それは私がいたときに動作するようなものです
<Window><ScrollViewer/></Window>
しかし、私は本当にDockPanelをスクローラの中に入れたくはありません。現在のフォームでは、WindowのMaxHeightを壊すことさえ強制しています。
回答:
回答№1は2DockPanelとStackPanelの代わりに* Lenghtと一緒にGridを使用することをお勧めします。
回答№2の場合は1
ただそれらを取り除く StackPanel
s。それらを交換してください Grid
sとあなたは良いはずです。のレイアウトロジック StackPanel
それはそれが子供たちに特定の方向に(より垂直に)多くの部屋を与えるようなものです StackPanel
彼らが求めるように)。それが「あなたが」奇妙なレイアウトの問題を見ている理由です。