Exemple #1
0
        private void InitSelectedMembersCollectionView()
        {
            SelectedMembersCollectionView.RegisterNibForCell(SelectedMemberViewCell.Nib, SelectedMemberViewCell.Key);
            SelectedMembersCollectionView.AddGestureRecognizer(new UITapGestureRecognizer(() => View.EndEditing(true)));

            var source = new ObservableCollectionViewSource <ChatUserViewModel, SelectedMemberViewCell>
            {
                DataSource       = ViewModel.SelectedContacts,
                BindCellDelegate = (cell, viewModel, index) =>
                {
                    cell.Bind(viewModel);
                },
                ReuseId = SelectedMemberViewCell.Key
            };

            SelectedMembersCollectionView.Source = source;
        }
Exemple #2
0
        void ReleaseDesignerOutlets()
        {
            if (CustomNavigationBar != null)
            {
                CustomNavigationBar.Dispose();
                CustomNavigationBar = null;
            }

            if (CustomNavigationBarItem != null)
            {
                CustomNavigationBarItem.Dispose();
                CustomNavigationBarItem = null;
            }

            if (SelectedMembersCollectionView != null)
            {
                SelectedMembersCollectionView.Dispose();
                SelectedMembersCollectionView = null;
            }

            if (SelectedMembersCollectionViewTopConstraint != null)
            {
                SelectedMembersCollectionViewTopConstraint.Dispose();
                SelectedMembersCollectionViewTopConstraint = null;
            }

            if (TableView != null)
            {
                TableView.Dispose();
                TableView = null;
            }

            if (TableViewSearchBar != null)
            {
                TableViewSearchBar.Dispose();
                TableViewSearchBar = null;
            }

            if (ProgressIndicator != null)
            {
                ProgressIndicator.Dispose();
                ProgressIndicator = null;
            }
        }
Exemple #3
0
        protected override void DoAttachBindings()
        {
            base.DoAttachBindings();

            Bindings.Add(this.SetBinding(() => ViewModel.HasSelectedContacts).WhenSourceChanges(() =>
            {
                UIView.Animate(0.5, () =>
                {
                    SelectedMembersCollectionView.Hidden = !ViewModel.HasSelectedContacts;
                    SelectedMembersCollectionViewTopConstraint.Constant = ViewModel.HasSelectedContacts
                        ? DefaultSelectedMembersCollectionTopConstraint + SelectedMembersCollectionView.Frame.Height
                        : DefaultSelectedMembersCollectionTopConstraint;

                    SelectedMembersCollectionView.LayoutIfNeeded();
                });
            }));

            Bindings.Add(this.SetBinding(() => ViewModel.IsBusy).WhenSourceChanges(() =>
            {
                if (ViewModel.IsBusy)
                {
                    ProgressIndicator.StartAnimating();
                }
                else
                {
                    ProgressIndicator.StopAnimating();
                }
            }));

            Bindings.Add(this.SetBinding(() => ViewModel.NoResultVisible).WhenSourceChanges(() =>
            {
                TableView.BackgroundView.Hidden = !ViewModel.NoResultVisible;
            }));

            TableViewSearchBar.TextChanged     += TableViewSearchBarTextChanged;
            _tableViewSource.ItemTapped        += TableViewSourceItemTapped;
            _tableViewSource.LastItemRequested += TableViewSourceLastItemRequested;
        }