private void SetIndicator(TabHost.TabSpec tabSpec, object item) { var viewModel = item as IViewModel; #if !API8 if (viewModel != null) { viewModel.Settings.Metadata.AddOrUpdate(ViewModelConstants.StateNotNeeded, true); } #endif var templateId = _itemTemplateProvider.GetTemplateId(); var selector = _itemTemplateProvider.GetDataTemplateSelector(); if (templateId == null && selector == null) { selector = EmptyTemplateSelector.Instance; } object content = PlatformExtensions.GetContentView(_tabHost, _tabHost.Context, item, templateId, selector); if (content == EmptyTemplateSelector.EmptyView) { content = null; if (viewModel is IHasDisplayName) { BindingServiceProvider.BindingProvider.CreateBindingsFromString(tabSpec, "Title DisplayName", null); } else { tabSpec.SetIndicator(item.ToStringSafe("(null)")); } } var view = content as View; if (view == null) { tabSpec.SetIndicator(content.ToStringSafe("(null)")); } else { tabSpec.SetIndicator(view); } }
private object GetContent(object item) { return(PlatformExtensions.GetContentView(_tabHost, _tabHost.Context, item, _contentTemplateProvider.GetTemplateId(), _contentTemplateProvider.GetDataTemplateSelector())); }