Если вы хотите предотвратить рост TextBlock, и вы хотите, чтобы он просто соответствовал размеру списка, вы должны установить его ширину явно.
Для того, чтобы изменить его динамически, это означает не фиксированное значение, но вам нужно привязать его к соответствующему родительскому элементу в визуальном дереве. Вы можете получить что-то вроде этого:
<ListBox ItemsSource="{Binding MyItems}" Name="MyListBox">
<ListBox.Resources>
<Style TargetType="ListBoxItem">
<Setter Property="Width"
Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ScrollContentPresenter}, Path=ActualWidth}" />
</Style>
</ListBox.Resources>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}" TextWrapping="Wrap" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Если это не работает, попробуйте найти подходящие элементы (которые должны быть связаны с чем) с помощью Live Visual Tree в Visual Studio.