2 using System.Collections.Generic;
4 namespace Tizen.NUI.Binding
6 internal abstract class DataTemplateSelector : DataTemplate
8 Dictionary<Type, DataTemplate> _dataTemplates = new Dictionary<Type, DataTemplate>();
10 public DataTemplate SelectTemplate(object item, BindableObject container)
12 DataTemplate dataTemplate = null;
13 if (_dataTemplates.TryGetValue(item.GetType(), out dataTemplate))
18 dataTemplate = OnSelectTemplate(item, container);
19 if (dataTemplate is DataTemplateSelector)
20 throw new NotSupportedException(
21 "DataTemplateSelector.OnSelectTemplate must not return another DataTemplateSelector");
26 protected abstract DataTemplate OnSelectTemplate(object item, BindableObject container);