summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core/DataTemplateSelector.cs
blob: 8ffa4781887a24a675ced26fdfda5daa65ae5cfb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;

namespace Xamarin.Forms
{
	public abstract class DataTemplateSelector : DataTemplate
	{
		public DataTemplate SelectTemplate(object item, BindableObject container)
		{
			DataTemplate result = OnSelectTemplate(item, container);
			if (result is DataTemplateSelector)
				throw new NotSupportedException("DataTemplateSelector.OnSelectTemplate must not return another DataTemplateSelector");
			return result;
		}

		protected abstract DataTemplate OnSelectTemplate(object item, BindableObject container);
	}
}