Не используйте ListBox для добавления возможности прокрутки, используйте для этого ScrollViewer.
Не могли бы вы нарисовать или нарисовать изображение, которое объясняет ваши идеи?
<Grid>
<ScrollViewer>
<Grid ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Label Target="{Binding ElementName=textBlock}"
VerticalAlignment="Center">_Name:</Label>
<TextBox Grid.Column="1"
x:Name="textBlock"
VerticalAlignment="Center"
Text="Enter text here" />
</Grid>
<Border Grid.Column="1">
<TextBlock Text="Anything you like" />
</Border>
</Grid>
</ScrollViewer>
</Grid>
Есть много других вариантов.Например, вы можете поместить ScrollViewer внутри Border в моем примере.Это сделало бы содержимое Border прокручиваемым вместо всей формы.Ключ должен определить, как вы хотите, чтобы он выглядел, и как вы хотите, чтобы он вел себя.
Лучший способ сделать это - нарисовать или создать прототип в конструкторе, таком как Expression Blend.