Решение, которое я вижу, состоит в том, что вы должны использовать DataTemplate и Style. Идея следующая: каждое текстовое сообщение представлено объектом класса. Теперь, когда вы связываете свое сообщение внутри шаблона, вы явно указываете, как вы хотите, чтобы ваши сообщения выглядели.
Вам будет лучше создать пользовательский контроль, который будет знать, как представлять ваши сообщения.
Пример, представляющий похожую идею, но идея та же:
<Window.Resources>
<DataTemplate DataType="{x:Type model:MessageModel}">
<ed:Callout AnchorPoint="0,1.5" Margin="10" CalloutStyle="RoundedRectangle" Content="{Binding Path=Text}" Fill="#FFF4F4F5" FontSize="14.667" HorizontalAlignment="Left" Height="100" Stroke="Black" VerticalAlignment="Top" Width="200" />
</DataTemplate>
</Window.Resources>
<Grid>
<ItemsControl ItemsSource="{Binding Path=MsgList}" />
</Grid>
Для этого примера вам нужно присоединить Microsoft.Expression.Drawing.sll, который поставляется вместе с Blend 4.