In this post i want to show you how you can customize a Listview.
I will create a ListView with different Layouts for the items.

screenshot_20160912-222901

Create your model class

Create a DataTemplateSelector

Create a Custom ViewCell

The IncomingMessageViewCell looks the same except that this class has the Layout aligned to the right side.

OutgoingMessageViewCell.xaml.cs

OutgoingMessageViewCell.cs

Add the Data and TemplateSelector to your ListView

If your ListView has items with different heights you need set HasUnevenRows to true.