diff options
Diffstat (limited to 'Xamarin.Forms.Core/DataTemplateSelector.cs')
-rw-r--r-- | Xamarin.Forms.Core/DataTemplateSelector.cs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Xamarin.Forms.Core/DataTemplateSelector.cs b/Xamarin.Forms.Core/DataTemplateSelector.cs new file mode 100644 index 00000000..8ffa4781 --- /dev/null +++ b/Xamarin.Forms.Core/DataTemplateSelector.cs @@ -0,0 +1,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); + } +}
\ No newline at end of file |