private void SetIndicator(TabHost.TabSpec tabSpec, object item) { var viewModel = item as IViewModel; if (viewModel != null) viewModel.Settings.Metadata.AddOrUpdate(ViewModelConstants.StateNotNeeded, true); 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); }