WPF动态添加控件,控件大小不定能不能跟随窗口大小变化

WPF新手一个,现在要做个界面向里面动态添加GROUPBOX,嵌套在一个ScrollViewer中,希望能做到超过2个groupbox的时候可以横向滚动显示,现在动态添加能够做到,但是不好控制groupbox的大小,如果把控件大小写死了,窗口最大化就会乱,如果不写死添加控件的时候groupbox大小都不一样


<DockPanel Grid.Row="1">
            <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" >
               <DockPanel Margin="0,0,0,0" Name="DP_Lane" Loaded="DP_Lane_Loaded">
                </DockPanel>
             </ScrollViewer>
</DockPanel>

private void DP_Lane_Loaded(object sender, RoutedEventArgs e)
{
RuntimeData.GetInstance().ACSLane();
List m_Lane = RuntimeData.GetInstance().Lane;
int Left = 4;
int Right = 4;
for (int i = 0; i < m_Lane.Count(); i++)
{

            GroupBox gb = new GroupBox();
            gb.Name = m_Lane[i].NodeName;
            //gb.Height = 640;
            gb.Width = 515;
            Thickness thickness = new Thickness(Left, 0, Right, 0);
            gb.Margin = thickness;
            //Left += 515;
            //Right += 515;
            DP_Lane.Children.Add(gb);


        }
    }

滚动和自动调整大小不能兼得。
前者是依据子控件大小算容器大小,后者是依据容器大小算子控件大小。
不能互为依赖。