StackPanel で積んでいって、最後のコントロールに残っている領域すべてを割り当てたい場合、たとえば以下のように実装します。
この例では、StackPanel だけでは無理そうなので DockPanel の力を借りています。
<DockPanel>
<!-- StackPanelの部分 -->
<StackPanel DockPanel.Dock="Top">
<Button Content="AAAA" />
<Button Content="AAAA" />
<Button Content="AAAA" />
<Button Content="AAAA" />
</StackPanel>
<!-- あまりの部分 -->
<TextBox AcceptsReturn="True"
HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto"/>
</DockPanel>
2013-12-8 追記
「Grid ではダメなのか?」という指摘を受けたので Grid を使った例について記す。
ポイントは、StackPanel 部分の RowDefinition を "Auto" に設定し、あまり側の RowDefinition を "*" で設定してる点。
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<!-- StackPanelの部分 -->
<StackPanel>
<Button Content="AAAA" />
<Button Content="AAAA" />
<Button Content="AAAA" />
<Button Content="AAAA" />
</StackPanel>
<!-- あまりの部分 -->
<TextBox Grid.Row="1"
AcceptsReturn="True"
HorizontalScrollBarVisibility="Auto"
VerticalScrollBarVisibility="Auto"/>
</Grid>