Si elimina la Altura de su GroupBox (que, por lo que yo entiendo, es lo que desea hacer), entonces llenará su contenedor, a menos que exista un panel en sentido ascendente que imponga sus propias reglas de tamaño.
Utilicé esta versión simplificada de su XAML. Eliminé la plantilla y el encuadernado, y codifiqué algunos elementos, para hacer esto solo; esos cambios no afectarán la forma en que se realiza el diseño.
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<GroupBox FontWeight="Bold" Header="Tables" Padding="2">
<ScrollViewer>
<ItemsControl FontWeight="Normal">
<TextBlock>Foo</TextBlock>
<TextBlock>Bar</TextBlock>
<TextBlock>Baz</TextBlock>
</ItemsControl>
</ScrollViewer>
</GroupBox>
</Window>
ejecutarlo, y verá que el contenido en efecto tamaño para ajustarse a la ventana y la barra de desplazamiento sólo se permite cuando la ventana se vuelve demasiado pequeña para ver los tres puntos. Creo que esto es lo que quieres.
Por lo tanto, es probable que el problema sea uno de los paneles principales, uno que no se muestra en su muestra XAML. El problema que usted describe podría ocurrir si su GroupBox aparece dentro de un StackPanel:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<StackPanel>
<GroupBox FontWeight="Bold" Header="Tables" Padding="2">
<ScrollViewer>
<ItemsControl FontWeight="Normal">
<TextBlock>Foo</TextBlock>
<TextBlock>Bar</TextBlock>
<TextBlock>Baz</TextBlock>
</ItemsControl>
</ScrollViewer>
</GroupBox>
</StackPanel>
</Window>
Ahora GroupBox aparece en la parte superior de la ventana, de tamaño para adaptarse exactamente su contenido. Si reduce la ventana lo suficiente, se cortará el GroupBox, porque está dimensionado para ajustarse a su contenido, no a su contenedor. Esto suena como el problema que estás describiendo.
La razón es que StackPanel pregunta a sus hijos cuál es su altura ideal (según su contenido) y usa esa altura. Sin StackPanel (o algo similar), el valor predeterminado es respetar verticalAlignment del control, y si eso se establece en el valor predeterminado de Stretch, entonces el control se estira para llenar su principal. Esto significa que no será más alto que su padre, que suena como lo que quiere.
Solución: elimine el StackPanel (o cualquier otra cosa que le esté causando problemas) y use algo más. Dependiendo de lo que intentes lograr, podrías tener más suerte con un DockPanel o un Grid. Difícil de decir sin saber más acerca de su diseño.
Editar: bien, parece que el problema es de hecho el HeaderedContentControl
padre - pero no directamente. HeaderedContentControl no es un panel, por lo que no hace ningún diseño propio (y su descendiente, GroupBox, no tiene el mismo problema). El problema es su plantilla predeterminada, que incluye un StackPanel. La buena noticia es, usted es libre de utilizar una plantilla diferente, digamos que uno con un DockPanel lugar:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<HeaderedContentControl>
<HeaderedContentControl.Style>
<Style TargetType="{x:Type HeaderedContentControl}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type HeaderedContentControl}">
<DockPanel>
<ContentPresenter ContentSource="Header" DockPanel.Dock="Top"/>
<ContentPresenter/>
</DockPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</HeaderedContentControl.Style>
<GroupBox FontWeight="Bold" Header="Tables" Padding="2">
<ScrollViewer>
<ItemsControl FontWeight="Normal">
<TextBlock>Foo</TextBlock>
<TextBlock>Bar</TextBlock>
<TextBlock>Baz</TextBlock>
</ItemsControl>
</ScrollViewer>
</GroupBox>
</HeaderedContentControl>
</Window>
Si deja fuera de la parte <HeaderedContentControl.Style>
, este reproduce su problema; pero con el estilo en su lugar, permite que GroupBox llene su contenedor, por lo que el ScrollViewer obtendrá una barra de desplazamiento cuando lo desee.
La expansión de la Grilla depende de lo que contenga. Necesita mostrar más de su XAML para obtener una respuesta precisa. –
Agregué código adicional (aunque el formateo resultó extraño) –