/ / Tamaño de la ventana relacionado con el contenido - wpf

Tamaño de la ventana relacionado con los contenidos - wpf

Tengo dos problemas de tamaño con respecto a una ventana que tengo. El diseño básico es así.

<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) ¿Cómo hago para que la ventana no se haga más pequeña horizontalmente que el ancho del DockPanel?

2) ¿Cómo hago que ScrollViewer esté restringido a los límites de la ventana? Se está ajustando a su contenido, extendiéndose más allá de los límites de la Ventana.
Solía ​​funcionar cuando tenía

<Window><ScrollViewer/></Window>

, pero realmente no quiero que el DockPanel esté dentro de la rueda de desplazamiento. En la forma actual, incluso está forzando a la Ventana a romper su MaxHeight.

Respuestas

2 para la respuesta № 1

Le recomendaría usar Grid con * Longitud en lugar de DockPanel y StackPanel.


1 para la respuesta № 2

Solo deshazte de esos StackPanels. Reemplazarlos con Grids y usted debe ser bueno. La lógica de diseño de la StackPanel es tal que dará a los niños tanto espacio en una dirección determinada (perpendicular a la StackPanelorientación s) como piden. Es por eso que estás viendo los problemas de diseño impares.