In a little app I’m working on to exercise some new Mango features I needed to create the message “bubble” and oddly enough didn’t stumble across any samples I could easily use even though a large number of apps have recreated this style, most likely because it’s so easy to do.
Here was my first take and it’s very hard-coded to the above look but it should be trivial to change it around. Also there are dozen ways you could make this more reusable, either as a template for a ContentControl or as a new control. If anyone has any suggestions for improvements or a better resource I’d love to see it!
XAML
<!-- bubble --> <Grid Grid.Column="1" Margin="12,6,12,0"> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <Path Data="M 16,12 16,0 0,12" Fill="{StaticResource PhoneAccentBrush}" HorizontalAlignment="Right" Margin="0,0,12,0" UseLayoutRounding="False" VerticalAlignment="Top" /> <!-- Your actual content here --> <StackPanel Grid.Row="1" Background="{StaticResource PhoneAccentBrush}"> <TextBlock Text="{Binding Mood}" Style="{StaticResource PhoneTextNormalStyle}" FontWeight="Bold" TextWrapping="Wrap" Margin="6,12,6,6" HorizontalAlignment="Left" VerticalAlignment="Top" /> <TextBlock Text="{Binding LastUpdated, StringFormat='g'}" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="6,0,6,6" Style="{StaticResource PhoneTextSubtleStyle}" FontFamily="Segoe WP SemiLight" /> </StackPanel> </Grid>
Note for the sharp-eyed I’m using a feature that is new for Mango that exists in Silverlight 4 which is default string formatting in bindings.