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>