internal TabHostItemsSourceGenerator([NotNull] TabHost tabHost) { Should.NotBeNull(tabHost, "tabHost"); TabHost = tabHost; TabHost.Setup(); _tabToContent = new Dictionary <string, TabInfo>(); _tabFactory = new TabFactory(this); _itemTemplateProvider = new DataTemplateProvider(tabHost, AttachedMemberConstants.ItemTemplate, AttachedMemberConstants.ItemTemplateSelector); _contentTemplateProvider = new DataTemplateProvider(tabHost, AttachedMemberConstants.ContentTemplate, AttachedMemberConstants.ContentTemplateSelector); _selectedItemMember = BindingServiceProvider .MemberProvider .GetBindingMember(tabHost.GetType(), AttachedMemberConstants.SelectedItem, false, false); _collectionViewManagerMember = BindingServiceProvider .MemberProvider .GetBindingMember(tabHost.GetType(), AttachedMembers.ViewGroup.CollectionViewManager, false, false); TryListenActivity(tabHost.Context); TabHost.TabChanged += TabHostOnTabChanged; }