У меня есть следующий код, я думаю, что List должен заполнить все пространство, занимаемое панелью стека, я пытался использовать Grid, но это не сработало.
<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch" DockPanel.Dock="Top">
<ListBox x:Name="substanceList" ItemsSource="{Binding Source={StaticResource symTable}}" DockPanel.Dock="Top" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name, Mode=TwoWay}" VerticalAlignment="Center"/>
<TextBox Text="{Binding Count, Converter={StaticResource stringToIntConverter}, Mode=TwoWay}" VerticalAlignment="Center" BorderThickness="0"/>
<Separator/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Button x:Name="graphButtonStackPanel" Content="Graph" Click="graphButtonStackPanel_Click" DockPanel.Dock="Top" HorizontalAlignment="Right"/>
</StackPanel>