Проблема в том, что StackPanels
не ограничивает размер своих детей, поэтому будет расти столько, сколько нужно их детям
Измените StackPanel
на элемент управления, ограничивающий размер его детей.дочерние элементы, например Grid
(или обернуть его в другом элементе управления), а затем использовать привязку ElementName
для привязки к свойству ActualWidth
этого элемента управления
<Grid Name="stpMessage" ... />
...
<TextBlock MaxWidth="{Binding ElementName=stpMessage, Path=ActualWidth}" ... />
...
</Grid>