protected TableViewSourceBase([NotNull] UITableView tableView, string itemTemplate = AttachedMemberConstants.ItemTemplate) { Should.NotBeNull(tableView, nameof(tableView)); _tableView = ToolkitServiceProvider.WeakReferenceFactory(tableView); _templateProvider = new DataTemplateProvider <ITableCellTemplateSelector>(tableView, itemTemplate); var controllerView = tableView.FindParent <IViewControllerView>(); if (controllerView != null && !(controllerView is IMvvmNavigationController)) { _listener = ReflectionExtensions.CreateWeakEventHandler <TableViewSourceBase, EventArgs>(this, (adapter, o, arg3) => adapter.OnDisposeController(o, arg3)); controllerView.Mediator.DisposeHandler += _listener.Handle; } UseAnimations = tableView .GetBindingMemberValue(AttachedMembers.UITableView.UseAnimations) .GetValueOrDefault(true); AddAnimation = tableView .GetBindingMemberValue(AttachedMembers.UITableView.AddAnimation) .GetValueOrDefault(UITableViewRowAnimation.Automatic); RemoveAnimation = tableView .GetBindingMemberValue(AttachedMembers.UITableView.RemoveAnimation) .GetValueOrDefault(UITableViewRowAnimation.Automatic); ReplaceAnimation = tableView .GetBindingMemberValue(AttachedMembers.UITableView.ReplaceAnimation) .GetValueOrDefault(UITableViewRowAnimation.Automatic); ScrollPosition = tableView .GetBindingMemberValue(AttachedMembers.UITableView.ScrollPosition) .GetValueOrDefault(UITableViewScrollPosition.Middle); }
protected TableViewSourceBase([NotNull] UITableView tableView, string itemTemplate = AttachedMemberConstants.ItemTemplate) { Should.NotBeNull(tableView, nameof(tableView)); _tableView = ServiceProvider.WeakReferenceFactory(tableView); _templateProvider = new DataTemplateProvider(tableView, itemTemplate); var controllerView = tableView.FindParent<IViewControllerView>(); if (controllerView != null && !(controllerView is IMvvmNavigationController)) { _listener = ReflectionExtensions.CreateWeakEventHandler<TableViewSourceBase, EventArgs>(this, (adapter, o, arg3) => adapter.OnDisposeController(o, arg3)); controllerView.Mediator.DisposeHandler += _listener.Handle; } UseAnimations = tableView .GetBindingMemberValue(AttachedMembers.UITableView.UseAnimations) .GetValueOrDefault(true); AddAnimation = tableView .GetBindingMemberValue(AttachedMembers.UITableView.AddAnimation) .GetValueOrDefault(UITableViewRowAnimation.Automatic); RemoveAnimation = tableView .GetBindingMemberValue(AttachedMembers.UITableView.RemoveAnimation) .GetValueOrDefault(UITableViewRowAnimation.Automatic); ReplaceAnimation = tableView .GetBindingMemberValue(AttachedMembers.UITableView.ReplaceAnimation) .GetValueOrDefault(UITableViewRowAnimation.Automatic); ScrollPosition = tableView .GetBindingMemberValue(AttachedMembers.UITableView.ScrollPosition) .GetValueOrDefault(UITableViewScrollPosition.Middle); }
protected CollectionViewSourceBase([NotNull] UICollectionView collectionView, string itemTemplate = AttachedMemberConstants.ItemTemplate) { Should.NotBeNull(collectionView, nameof(collectionView)); _collectionView = PlatformExtensions.CreateWeakReference(collectionView); _itemTemplateProvider = new DataTemplateProvider(collectionView, itemTemplate); var controllerView = collectionView.FindParent<IViewControllerView>(); if (controllerView != null && !(controllerView is IMvvmNavigationController)) { _listener = ReflectionExtensions.CreateWeakEventHandler<CollectionViewSourceBase, EventArgs>(this, (adapter, o, arg3) => adapter.OnDisposeController(o, arg3)); controllerView.Mediator.DisposeHandler += _listener.Handle; } UseAnimations = collectionView .GetBindingMemberValue(AttachedMembers.UICollectionView.UseAnimations) .GetValueOrDefault(true); ScrollPosition = collectionView .GetBindingMemberValue(AttachedMembers.UICollectionView.ScrollPosition) .GetValueOrDefault(UICollectionViewScrollPosition.Top); }
protected CollectionViewSourceBase([NotNull] UICollectionView collectionView, string itemTemplate = AttachedMemberConstants.ItemTemplate) { Should.NotBeNull(collectionView, nameof(collectionView)); _collectionView = TouchToolkitExtensions.CreateWeakReference(collectionView); _itemTemplateProvider = new DataTemplateProvider <ICollectionCellTemplateSelector>(collectionView, itemTemplate); var controllerView = collectionView.FindParent <IViewControllerView>(); if (controllerView != null && !(controllerView is IMvvmNavigationController)) { _listener = ReflectionExtensions.CreateWeakEventHandler <CollectionViewSourceBase, EventArgs>(this, (adapter, o, arg3) => adapter.OnDisposeController(o, arg3)); controllerView.Mediator.DisposeHandler += _listener.Handle; } UseAnimations = collectionView .GetBindingMemberValue(AttachedMembers.UICollectionView.UseAnimations) .GetValueOrDefault(true); ScrollPosition = collectionView .GetBindingMemberValue(AttachedMembers.UICollectionView.ScrollPosition) .GetValueOrDefault(UICollectionViewScrollPosition.Top); }