protected override void Update(IEnumerable itemsSource, IDataContext context = null) { base.Update(itemsSource, context); if (itemsSource != null && !_isRestored && TabHost.GetBindingMemberValue(AttachedMembers.TabHost.RestoreSelectedIndex).GetValueOrDefault(true)) { _isRestored = true; TryRestoreSelectedIndex(); } }
private static void TabHostSelectedItemChanged(TabHost tabHost, AttachedMemberChangedEventArgs <object> arg) { var generator = tabHost.GetBindingMemberValue(AttachedMembers.ViewGroup.ItemsSourceGenerator) as IItemsSourceGeneratorEx; if (generator != null) { generator.SelectedItem = arg.NewValue; } }
private static void TabHostTemplateChanged <T>(TabHost tabHost, AttachedMemberChangedEventArgs <T> args) { var generator = tabHost.GetBindingMemberValue(AttachedMembers.ViewGroup.ItemsSourceGenerator); if (generator != null) { generator.Reset(); } }
private static void TabHostItemsSourceChanged(TabHost tabHost, AttachedMemberChangedEventArgs <IEnumerable> arg) { var generator = tabHost.GetBindingMemberValue(AttachedMembers.ViewGroup.ItemsSourceGenerator); if (generator == null) { generator = new TabHostItemsSourceGenerator(tabHost); tabHost.SetBindingMemberValue(AttachedMembers.ViewGroup.ItemsSourceGenerator, generator); } generator.SetItemsSource(arg.NewValue); }