2 using System.ComponentModel;
3 using System.Collections.Generic;
5 namespace Tizen.NUI.Binding
7 [EditorBrowsable(EditorBrowsableState.Never)]
8 public abstract class DataTemplateSelector : DataTemplate
10 Dictionary<Type, DataTemplate> _dataTemplates = new Dictionary<Type, DataTemplate>();
12 [EditorBrowsable(EditorBrowsableState.Never)]
13 public DataTemplate SelectTemplate(object item, BindableObject container)
15 DataTemplate dataTemplate = null;
16 if (_dataTemplates.TryGetValue(item.GetType(), out dataTemplate))
21 dataTemplate = OnSelectTemplate(item, container);
22 if (dataTemplate is DataTemplateSelector)
23 throw new NotSupportedException(
24 "DataTemplateSelector.OnSelectTemplate must not return another DataTemplateSelector");
29 [EditorBrowsable(EditorBrowsableState.Never)]
30 protected abstract DataTemplate OnSelectTemplate(object item, BindableObject container);