Example #1
0
        private List <IVirtualizable> GetMoreOtherVideoItems()
        {
            List <IVirtualizable>      virtualizableList  = new List <IVirtualizable>();
            IVideoCatalogItemUCFactory catalogItemFactory = ServiceLocator.Resolve <IVideoCatalogItemUCFactory>();
            VKList <VKClient.Common.Backend.DataObjects.Video> otherVideos = this.OtherVideosVM.OtherVideos;
            List <Group> groupList = new List <Group>();
            List <User>  userList  = new List <User>();

            if (otherVideos.profiles != null)
            {
                userList.AddRange((IEnumerable <User>)Enumerable.Select <User, User>(otherVideos.profiles, (Func <User, User>)(profile => new User()
                {
                    id         = profile.id,
                    first_name = profile.first_name,
                    last_name  = profile.last_name
                })));
            }
            if (otherVideos.groups != null)
            {
                groupList.AddRange((IEnumerable <Group>)Enumerable.Select <Group, Group>(otherVideos.groups, (Func <Group, Group>)(profile => new Group()
                {
                    id   = profile.id,
                    name = profile.name
                })));
            }
            IEnumerator <VKClient.Common.Backend.DataObjects.Video> enumerator = ((IEnumerable <VKClient.Common.Backend.DataObjects.Video>)Enumerable.Skip <VKClient.Common.Backend.DataObjects.Video>(otherVideos.items, 3)).GetEnumerator();

            try
            {
                while (enumerator.MoveNext())
                {
                    VKClient.Common.Backend.DataObjects.Video video = enumerator.Current;
                    List <User>  knownUsers  = userList;
                    List <Group> knownGroups = groupList;
                    UCItem       ucItem      = new UCItem(480.0, new Thickness(), (Func <UserControlVirtualizable>)(() =>
                    {
                        UserControlVirtualizable controlVirtualizable = catalogItemFactory.Create(video, knownUsers, knownGroups, StatisticsActionSource.video_recommend, this.CreateVideoContext(otherVideos.context));
                        ((System.Windows.Controls.Panel)(controlVirtualizable as CatalogItemUC).GridLayoutRoot).Background = ((Brush)(Application.Current.Resources["PhoneNewsBackgroundBrush"] as SolidColorBrush));
                        return(controlVirtualizable);
                    }), new Func <double> (() => catalogItemFactory.Height), null, 0.0, false);
                    virtualizableList.Add((IVirtualizable)ucItem);
                }
            }
            finally
            {
                if (enumerator != null)
                {
                    enumerator.Dispose();
                }
            }
            return(virtualizableList);
        }
Example #2
0
 public GroupVideosPage()
 {
     this.InitializeComponent();
     this.BuildAppBar();
     this.ucHeader.Title       = CommonResources.Profile_Videos.ToUpperInvariant();
     this.ucHeader.OnHeaderTap = (Action)(() => this.virtPanel.ScrollToBottom(false));
     this.ucPullToRefresh.TrackListBox((ISupportPullToRefresh)this.virtPanel);
     this.virtPanel.OnRefresh = (Action)(() => this.VM.VideosGenCol.LoadData(true, false, (Action <BackendResult <VKList <VKClient.Common.Backend.DataObjects.Video>, ResultCode> >)null, false));
     this.virtPanel.InitializeWithScrollViewer((IScrollableArea) new ViewportScrollableAreaAdapter(this.scroll), false);
     this.RegisterForCleanup((IMyVirtualizingPanel)this.virtPanel);
     this.scroll.BindViewportBoundsTo((FrameworkElement)this.stackPanel);
     this.virtPanel.CreateVirtItemFunc = (Func <object, IVirtualizable>)(obj => (IVirtualizable) new UCItem(480.0, new Thickness(), (Func <UserControlVirtualizable>)(() =>
     {
         UserControlVirtualizable controlVirtualizable = (UserControlVirtualizable)null;
         if (obj is OwnerHeaderWithSubscribeViewModel)
         {
             controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <OwnerHeaderWithSubscribeUC>();
         }
         if (obj is SectionHeaderViewModel)
         {
             controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <SectionHeaderUC>();
         }
         if (obj is AlbumsListHorizontalViewModel)
         {
             controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <CatalogItemsHorizontalExtUC>();
         }
         if (obj is VideoHeader)
         {
             controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <CatalogItemUC>();
             (controlVirtualizable as CatalogItemUC).GridLayoutRoot.Background = (Brush)(Application.Current.Resources["PhoneNewsBackgroundBrush"] as SolidColorBrush);
         }
         controlVirtualizable.DataContext = obj;
         return(controlVirtualizable);
     }), (Func <double>)(() =>
     {
         if (obj is OwnerHeaderWithSubscribeViewModel)
         {
             return(68.0);
         }
         if (obj is SectionHeaderViewModel)
         {
             return(80.0);
         }
         if (obj is AlbumsListHorizontalViewModel)
         {
             return(242.0);
         }
         return(obj is VideoHeader ? 128.0 : 0.0);
     }), (Action <UserControlVirtualizable>)(uc => this._virtControlsPool.AddBackToPool(uc)), 0.0, false));
 }
Example #3
0
        private void ShowHideOverlay(int ind, bool show)
        {
            if (this._isMessage)
            {
                return;
            }
            VirtualizableImage       virtImageByInd       = this.FindVirtImageByInd(ind);
            UCItem                   ucItem               = (virtImageByInd != null ? virtImageByInd.OverlayControl : null) as UCItem;
            UserControlVirtualizable controlVirtualizable = ucItem != null ? ucItem.UC : null;

            if (controlVirtualizable == null)
            {
                return;
            }
            ((UIElement)controlVirtualizable).Opacity = (show ? 1.0 : 0.0);
        }
Example #4
0
        private List <IVirtualizable> GenereateVirtualizableItemsToAdd()
        {
            List <IVirtualizable> virtualizableList = new List <IVirtualizable>();

            if (!this._commentsAreLoaded)
            {
                LikesInfo likesInfo1 = new LikesInfo();
                likesInfo1.count        = this.VM.LikesCount;
                likesInfo1.repostsCount = this.VM.RepostsCount;
                List <long>     likesAllIds = this.VM.LikesAllIds;
                List <UserLike> m0List      = (likesAllIds != null ? Enumerable.ToList <UserLike>(Enumerable.Select <long, UserLike>(likesAllIds, (Func <long, UserLike>)(uid => new UserLike()
                {
                    uid = uid
                }))) :  null) ?? new List <UserLike>();
                likesInfo1.users = ((List <UserLike>)m0List);
                LikesInfo       likesInfo2 = likesInfo1;
                double          width1     = 480.0;
                Thickness       margin1    = new Thickness();
                LikedObjectData objectData = new LikedObjectData();
                objectData.OwnerId = this.VM.OwnerId;
                objectData.ItemId  = this.VM.ItemId;
                objectData.Type    = (int)this.VM.LikeObjectType;
                LikesInfo   likesInfo3   = likesInfo2;
                int         num1         = this.VM.CanRepost ? 1 : 0;
                int         num2         = this.VM.UserLiked ? 1 : 0;
                User        loggedInUser = AppGlobalStateManager.Current.GlobalState.LoggedInUser;
                List <User> users        = this.VM.Users;
                this._likesItem = new LikesItem(width1, margin1, objectData, likesInfo3, num1 != 0, num2 != 0, loggedInUser, users);
                virtualizableList.Add((IVirtualizable)this._likesItem);
                ISupportOtherVideos otherVideosVm = this.OtherVideosVM;
                List <VKClient.Common.Backend.DataObjects.Video> videoList;
                if (otherVideosVm == null)
                {
                    videoList = null;
                }
                else
                {
                    VKList <VKClient.Common.Backend.DataObjects.Video> otherVideos = otherVideosVm.OtherVideos;
                    videoList = otherVideos != null ? otherVideos.items :  null;
                }
                if (videoList != null && otherVideosVm.OtherVideos.items.Count > 0)
                {
                    VKList <VKClient.Common.Backend.DataObjects.Video> otherVideos = otherVideosVm.OtherVideos;
                    List <Group> groupList = new List <Group>();
                    List <User>  userList  = new List <User>();
                    if (otherVideos.profiles != null)
                    {
                        userList.AddRange((IEnumerable <User>)Enumerable.Select <User, User>(otherVideos.profiles, (Func <User, User>)(profile => new User()
                        {
                            id         = profile.id,
                            first_name = profile.first_name,
                            last_name  = profile.last_name
                        })));
                    }
                    if (otherVideos.groups != null)
                    {
                        groupList.AddRange((IEnumerable <Group>)Enumerable.Select <Group, Group>(otherVideos.groups, (Func <Group, Group>)(profile => new Group()
                        {
                            id   = profile.id,
                            name = profile.name
                        })));
                    }
                    double    width2  = 480.0;
                    Thickness margin2 = new Thickness(0.0, 0.0, 0.0, 8.0);
                    Func <UserControlVirtualizable> func1 = (Func <UserControlVirtualizable>)(() => (UserControlVirtualizable) new TextSeparatorUC()
                    {
                        Text = CommonResources.OtherVideos
                    });
                    // ISSUE: variable of the null type
                    double landscapeWidth1 = 0.0;
                    int    num3            = 0;
                    //Func<UserControlVirtualizable> getUserControlFunc1;
                    UCItem ucItem1 = new UCItem(width2, margin2, func1, (Func <double>)(() => 56.0), null, landscapeWidth1, num3 != 0);
                    virtualizableList.Add((IVirtualizable)ucItem1);
                    IVideoCatalogItemUCFactory catalogItemFactory = ServiceLocator.Resolve <IVideoCatalogItemUCFactory>();
                    IEnumerator <VKClient.Common.Backend.DataObjects.Video> enumerator = ((IEnumerable <VKClient.Common.Backend.DataObjects.Video>)Enumerable.Take <VKClient.Common.Backend.DataObjects.Video>(otherVideos.items, 3)).GetEnumerator();
                    try
                    {
                        while (enumerator.MoveNext())
                        {
                            VKClient.Common.Backend.DataObjects.Video video = enumerator.Current;
                            List <User>  knownUsers  = userList;
                            List <Group> knownGroups = groupList;
                            UCItem       ucItem2     = new UCItem(480.0, new Thickness(), (Func <UserControlVirtualizable>)(() =>
                            {
                                UserControlVirtualizable controlVirtualizable = catalogItemFactory.Create(video, knownUsers, knownGroups, StatisticsActionSource.video_recommend, this.CreateVideoContext(otherVideos.context));
                                ((System.Windows.Controls.Panel)(controlVirtualizable as CatalogItemUC).GridLayoutRoot).Background = ((Brush)(Application.Current.Resources["PhoneNewsBackgroundBrush"] as SolidColorBrush));
                                return(controlVirtualizable);
                            }), new Func <double> (() => catalogItemFactory.Height), null, 0.0, false);
                            virtualizableList.Add((IVirtualizable)ucItem2);
                        }
                    }
                    finally
                    {
                        if (enumerator != null)
                        {
                            enumerator.Dispose();
                        }
                    }
                    double    width3  = 480.0;
                    Thickness margin3 = new Thickness();
                    Func <UserControlVirtualizable> func2 = (Func <UserControlVirtualizable>)(() => new UserControlVirtualizable());
                    // ISSUE: variable of the null type
                    double landscapeWidth2 = 0.0;
                    int    num4            = 0;
                    //Func<UserControlVirtualizable> getUserControlFunc2;
                    UCItem ucItem3 = new UCItem(width3, margin3, func2, (Func <double>)(() => 8.0), null, landscapeWidth2, num4 != 0);
                    virtualizableList.Add((IVirtualizable)ucItem3);
                    if (otherVideos.items.Count > 3)
                    {
                        this._moreVideosUCItem = new UCItem(480.0, new Thickness(), (Func <UserControlVirtualizable>)(() => (UserControlVirtualizable) new CategoryFooterShortUC()
                        {
                            TapAction = new Action(this.MoreVideos_OnTap)
                        }), (Func <double>)(() => 64.0), null, 0.0, false);
                        virtualizableList.Add((IVirtualizable)this._moreVideosUCItem);
                    }
                }
                int totalCommentsCount = this.VM.TotalCommentsCount;
                this._commentsCountSeparatorUC = new TextSeparatorUC()
                {
                    Text = CommentsItemsGeneratorHelper.GetTextForCommentsCount(totalCommentsCount)
                };
                this._commentsCountItem = new UCItem(480.0, new Thickness(), (Func <UserControlVirtualizable>)(() => (UserControlVirtualizable)this._commentsCountSeparatorUC), (Func <double>)(() => 56.0), null, 0.0, false);
                virtualizableList.Add((IVirtualizable)this._commentsCountItem);
            }
            if (this.CommentsCountForReload > 0 && !ListExtensions.IsNullOrEmpty((IList)this.VM.Comments))
            {
                ShowMoreCommentsUC showMoreCommentsUc = new ShowMoreCommentsUC();
                double             num = 54.0;
                ((FrameworkElement)showMoreCommentsUc).Height = num;
                Action action = (Action)(() => this._loadMoreCommentsItem_Tap(null, null));
                showMoreCommentsUc.OnClickAction = action;
                string textFor = CommentsItemsGeneratorHelper.GetTextFor(this.CommentsCountForReload);
                showMoreCommentsUc.Text = textFor;
                ShowMoreCommentsUC showMoreCommentsUC = showMoreCommentsUc;
                this._loadMoreCommentsItem = new UCItem(480.0, new Thickness(), (Func <UserControlVirtualizable>)(() => (UserControlVirtualizable)showMoreCommentsUC), (Func <double>)(() => 54.0), null, 0.0, false);
                virtualizableList.Add((IVirtualizable)this._loadMoreCommentsItem);
            }
            long        num5         = -1;
            CommentItem commentItem1 = Enumerable.FirstOrDefault <IVirtualizable>(this.virtPanel.VirtualizableItems, (Func <IVirtualizable, bool>)(i => i is CommentItem)) as CommentItem;

            if (commentItem1 != null)
            {
                num5 = commentItem1.Comment.cid;
            }
            List <Comment> .Enumerator enumerator1 = this.VM.Comments.GetEnumerator();
            try
            {
                while (enumerator1.MoveNext())
                {
                    Comment current = enumerator1.Current;
                    if (current.cid != num5)
                    {
                        CommentItem commentItem2 = this.CreateCommentItem(current);
                        virtualizableList.Add((IVirtualizable)commentItem2);
                    }
                    else
                    {
                        break;
                    }
                }
            }
            finally
            {
                enumerator1.Dispose();
            }
            ((UIElement)this.ucNewComment).Opacity          = (this.VM.CanComment ? 1.0 : 0.6);
            ((UIElement)this.ucNewComment).IsHitTestVisible = this.VM.CanComment;
            return(virtualizableList);
        }
Example #5
0
        public GroupVideosPage()
        {
            ApplicationBarIconButton applicationBarIconButton1 = new ApplicationBarIconButton();
            Uri uri1 = new Uri("/Resources/appbar.feature.search.rest.png", UriKind.Relative);

            applicationBarIconButton1.IconUri = (uri1);
            string appBarSearch = VideoResources.AppBar_Search;

            applicationBarIconButton1.Text = (appBarSearch);
            this._searchVideoButton        = applicationBarIconButton1;
            ApplicationBarIconButton applicationBarIconButton2 = new ApplicationBarIconButton();
            Uri uri2 = new Uri("/Resources/appbar.add.rest.png", UriKind.Relative);

            applicationBarIconButton2.IconUri = (uri2);
            string appBarAdd = CommonResources.AppBar_Add;

            applicationBarIconButton2.Text = (appBarAdd);
            this._addVideoButton           = applicationBarIconButton2;
            this._virtControlsPool         = new UCPool();
            // ISSUE: explicit constructor call
            //   base.\u002Ector();
            this.InitializeComponent();
            this.BuildAppBar();
            this.ucHeader.Title       = CommonResources.Profile_Videos.ToUpperInvariant();
            this.ucHeader.OnHeaderTap = (Action)(() => this.virtPanel.ScrollToBottom(false));
            this.ucPullToRefresh.TrackListBox((ISupportPullToRefresh)this.virtPanel);
            this.virtPanel.OnRefresh = (Action)(() => this.VM.VideosGenCol.LoadData(true, false, (Action <BackendResult <VKList <VKClient.Common.Backend.DataObjects.Video>, ResultCode> >)null, false));
            this.virtPanel.InitializeWithScrollViewer((IScrollableArea) new ViewportScrollableAreaAdapter(this.scroll), false);
            this.RegisterForCleanup((IMyVirtualizingPanel)this.virtPanel);
            this.scroll.BindViewportBoundsTo((FrameworkElement)this.stackPanel);
            this.virtPanel.CreateVirtItemFunc = (Func <object, IVirtualizable>)(obj => (IVirtualizable) new UCItem(480.0, new Thickness(), (Func <UserControlVirtualizable>)(() =>
            {
                UserControlVirtualizable controlVirtualizable = null;
                if (obj is OwnerHeaderWithSubscribeViewModel)
                {
                    controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <OwnerHeaderWithSubscribeUC>();
                }
                if (obj is SectionHeaderViewModel)
                {
                    controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <SectionHeaderUC>();
                }
                if (obj is AlbumsListHorizontalViewModel)
                {
                    controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <CatalogItemsHorizontalExtUC>();
                }
                if (obj is VideoHeader)
                {
                    controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <CatalogItemUC>();
                    ((Panel)(controlVirtualizable as CatalogItemUC).GridLayoutRoot).Background = ((Brush)(Application.Current.Resources["PhoneNewsBackgroundBrush"] as SolidColorBrush));
                }
                ((FrameworkElement)controlVirtualizable).DataContext = (obj);
                return(controlVirtualizable);
            }), (Func <double>)(() =>
            {
                if (obj is OwnerHeaderWithSubscribeViewModel)
                {
                    return(68.0);
                }
                if (obj is SectionHeaderViewModel)
                {
                    return(80.0);
                }
                if (obj is AlbumsListHorizontalViewModel)
                {
                    return(242.0);
                }
                return(obj is VideoHeader ? 128.0 : 0.0);
            }), (Action <UserControlVirtualizable>)(uc => this._virtControlsPool.AddBackToPool(uc)), 0.0, false));
        }
Example #6
0
 public ConversationsUC()
 {
     this.InitializeComponent();
     base.DataContext = ConversationsViewModel.Instance;
     Logger.Instance.Info("ConversationUC created");
     // ISSUE: method pointer
     base.Loaded += (new RoutedEventHandler(this.ConversationsUC_Loaded));
     this.scrollConversations.BindViewportBoundsTo((FrameworkElement)this.stackPanelConversations);
     this.conversationsListBox.LoadUnloadThreshold    = 100.0;
     this.conversationsListBox.ScrollPositionChanged += new EventHandler <MyVirtualizingPanel2.ScrollPositionChangedEventAgrs>(this.conversationsListBox_ScrollPositionChanged);
     this.conversationsListBox.InitializeWithScrollViewer((IScrollableArea) new ViewportScrollableAreaAdapter(this.scrollConversations), false);
     this.conversationsListBox.CreateVirtItemFunc = (Func <object, IVirtualizable>)(obj => (IVirtualizable) new UCItem(480.0, new Thickness(), (Func <UserControlVirtualizable>)(() =>
     {
         if (this.ConversationsVM.ConversationsGenCol.Refreshing)
         {
             this._headerUCPool.Clear();
         }
         bool haveEmoji = (obj as ConversationHeader).HaveEmoji;
         UserControlVirtualizable controlVirtualizable = this.IsShareContentMode ? (UserControlVirtualizable)Enumerable.FirstOrDefault <UserControlVirtualizable>(this._headerUCPool, (Func <UserControlVirtualizable, bool>)(ch => ch is ConversationHeaderShareUC)) : (haveEmoji ? (UserControlVirtualizable)Enumerable.FirstOrDefault <UserControlVirtualizable>(this._headerUCPool, (Func <UserControlVirtualizable, bool>)(ch => ch is ConversationHeaderUCEmoji)) : (UserControlVirtualizable)Enumerable.FirstOrDefault <UserControlVirtualizable>(this._headerUCPool, (Func <UserControlVirtualizable, bool>)(ch => ch is ConversationHeaderUC)));
         if (controlVirtualizable != null)
         {
             this._headerUCPool.Remove(controlVirtualizable);
         }
         else
         {
             if (!this.IsShareContentMode)
             {
                 if (haveEmoji)
                 {
                     ConversationHeaderUCEmoji conversationHeaderUcEmoji = new ConversationHeaderUCEmoji();
                     int num = this.IsLookup ? 1 : 0;
                     conversationHeaderUcEmoji.IsLookup = num != 0;
                     controlVirtualizable = (UserControlVirtualizable)conversationHeaderUcEmoji;
                 }
                 else
                 {
                     ConversationHeaderUC conversationHeaderUc = new ConversationHeaderUC();
                     int num = this.IsLookup ? 1 : 0;
                     conversationHeaderUc.IsLookup = num != 0;
                     controlVirtualizable          = (UserControlVirtualizable)conversationHeaderUc;
                 }
                 ((UIElement)controlVirtualizable).Tap += (new EventHandler <System.Windows.Input.GestureEventArgs>(this.ChucOnTap));
             }
             else
             {
                 ConversationHeaderShareUC conversationHeaderShareUc = new ConversationHeaderShareUC();
                 int num = this.IsLookup ? 1 : 0;
                 conversationHeaderShareUc.IsLookup = num != 0;
                 controlVirtualizable = (UserControlVirtualizable)conversationHeaderShareUc;
                 ((UIElement)controlVirtualizable).Tap += ((EventHandler <System.Windows.Input.GestureEventArgs>)((sender, args) => this.OnConversationTap((Action)(() => this.ChucOnTap(sender, args)))));
             }
             ((FrameworkElement)controlVirtualizable).Width = 480.0;
         }
         ((FrameworkElement)controlVirtualizable).DataContext = obj;
         return(controlVirtualizable);
     }), (Func <double>)(() => !this.IsShareContentMode ? 102.0 : 74.0), (Action <UserControlVirtualizable>)(uc =>
     {
         ((FrameworkElement)uc).DataContext = null;
         this._headerUCPool.Add(uc);
     }), 0.0, false));
 }
Example #7
0
        public VideoCatalogPage()
        {
            ApplicationBarIconButton applicationBarIconButton1 = new ApplicationBarIconButton();
            Uri uri1 = new Uri("/Resources/appbar.feature.search.rest.png", UriKind.Relative);

            applicationBarIconButton1.IconUri = (uri1);
            string appBarSearch = VideoResources.AppBar_Search;

            applicationBarIconButton1.Text = (appBarSearch);
            this._searchVideoButton        = applicationBarIconButton1;
            ApplicationBarIconButton applicationBarIconButton2 = new ApplicationBarIconButton();
            Uri uri2 = new Uri("/Resources/appbar.add.rest.png", UriKind.Relative);

            applicationBarIconButton2.IconUri = (uri2);
            string appBarAdd = CommonResources.AppBar_Add;

            applicationBarIconButton2.Text = (appBarAdd);
            this._addVideoButton           = applicationBarIconButton2;
            this._virtControlsPool         = new UCPool();
            // ISSUE: explicit constructor call
            //   base.\u002Ector();
            this.InitializeComponent();
            this.virtPanel.CountOfItemsBeforeLoadMore = 40;
            this.ucHeader.OnHeaderTap = (Action)(() =>
            {
                if (this.pivot.SelectedItem == this.pivotItemCatalog)
                {
                    this.virtPanel.ScrollToBottom(false);
                }
                else if (this.VM.UserVideosVM.VideoListSource == UserVideosViewModel.CurrentSource.Added)
                {
                    this.ucMyVideos.listBoxAdded.ScrollToTop();
                }
                else if (this.VM.UserVideosVM.VideoListSource == UserVideosViewModel.CurrentSource.Uploaded)
                {
                    this.ucMyVideos.listBoxUploaded.ScrollToTop();
                }
                else
                {
                    if (this.VM.UserVideosVM.VideoListSource != UserVideosViewModel.CurrentSource.Albums)
                    {
                        return;
                    }
                    this.ucMyVideos.listBoxAlbums.ScrollToTop();
                }
            });
            this.ucPullToRefresh.TrackListBox((ISupportPullToRefresh)this.virtPanel);
            this.ucPullToRefresh.TrackListBox((ISupportPullToRefresh)this.ucMyVideos.listBoxAdded);
            this.ucPullToRefresh.TrackListBox((ISupportPullToRefresh)this.ucMyVideos.listBoxUploaded);
            this.ucPullToRefresh.TrackListBox((ISupportPullToRefresh)this.ucMyVideos.listBoxAlbums);
            this.virtPanel.OnRefresh = (Action)(() => this.VM.LoadData(true));
            this.ucMyVideos.listBoxAdded.OnRefresh    = (Action)(() => this.VM.UserVideosVM.VideosOfOwnerVM.AllVideosVM.LoadData(true, false, (Action <BackendResult <VKList <VKClient.Common.Backend.DataObjects.Video>, ResultCode> >)null, false));
            this.ucMyVideos.listBoxUploaded.OnRefresh = (Action)(() => this.VM.UserVideosVM.VideosOfOwnerVM.UploadedVideosVM.LoadData(true, false, (Action <BackendResult <VKList <VKClient.Common.Backend.DataObjects.Video>, ResultCode> >)null, false));
            this.ucMyVideos.listBoxAlbums.OnRefresh   = (Action)(() => this.VM.UserVideosVM.VideosOfOwnerVM.AlbumsVM.LoadData(true, false, null, false));
            this.virtPanel.InitializeWithScrollViewer((IScrollableArea) new ViewportScrollableAreaAdapter(this.scroll), false);
            this.RegisterForCleanup((IMyVirtualizingPanel)this.virtPanel);
            this.scroll.BindViewportBoundsTo((FrameworkElement)this.stackPanel);
            this.BuildAppBar();
            this.virtPanel.CreateVirtItemFunc = (Func <object, IVirtualizable>)(obj => (IVirtualizable) new UCItem(480.0, new Thickness(), (Func <UserControlVirtualizable>)(() =>
            {
                UserControlVirtualizable controlVirtualizable = null;
                if (obj is ListHeaderViewModel)
                {
                    controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <ListHeaderUC>();
                }
                if (obj is CategoryMoreFooter)
                {
                    controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <CategoryMoreFooterUC>();
                }
                if (obj is CatalogItemViewModel)
                {
                    controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <CatalogItemUC>();
                    ((Panel)(controlVirtualizable as CatalogItemUC).GridLayoutRoot).Background = ((Brush)(Application.Current.Resources["PhoneNewsBackgroundBrush"] as SolidColorBrush));
                }
                if (obj is CatalogItemsHorizontalViewModel)
                {
                    controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <CatalogItemsHorizontalExtUC>();
                }
                if (obj is DividerSpaceUpViewModel)
                {
                    controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <DividerSpaceUpUC>();
                }
                if (obj is DividerSpaceDownViewModel)
                {
                    controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <DividerSpaceDownUC>();
                }
                if (obj is CatalogItemTwoInARowViewModel)
                {
                    controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <CatalogItemTwoInARowUC>();
                }
                ((FrameworkElement)controlVirtualizable).DataContext = (obj);
                return(controlVirtualizable);
            }), (Func <double>)(() =>
            {
                if (obj is ListHeaderViewModel)
                {
                    return(84.0);
                }
                if (obj is CategoryMoreFooter)
                {
                    return(64.0);
                }
                if (obj is CatalogItemViewModel)
                {
                    return(128.0);
                }
                if (obj is CatalogItemsHorizontalViewModel)
                {
                    return(242.0);
                }
                if (obj is DividerSpaceUpViewModel || obj is DividerSpaceDownViewModel)
                {
                    return(8.0);
                }
                return(obj is CatalogItemTwoInARowViewModel ? 138.0 : 0.0);
            }), (Action <UserControlVirtualizable>)(ucv => this._virtControlsPool.AddBackToPool(ucv)), 0.0, false));
        }
Example #8
0
 public VideoCatalogPage()
 {
     this.InitializeComponent();
     this.virtPanel.CountOfItemsBeforeLoadMore = 40;
     this.ucHeader.OnHeaderTap = (Action)(() =>
     {
         if (this.pivot.SelectedItem == this.pivotItemCatalog)
         {
             this.virtPanel.ScrollToBottom(false);
         }
         else if (this.VM.UserVideosVM.VideoListSource == UserVideosViewModel.CurrentSource.Added)
         {
             this.ucMyVideos.listBoxAdded.ScrollToTop();
         }
         else if (this.VM.UserVideosVM.VideoListSource == UserVideosViewModel.CurrentSource.Uploaded)
         {
             this.ucMyVideos.listBoxUploaded.ScrollToTop();
         }
         else
         {
             if (this.VM.UserVideosVM.VideoListSource != UserVideosViewModel.CurrentSource.Albums)
             {
                 return;
             }
             this.ucMyVideos.listBoxAlbums.ScrollToTop();
         }
     });
     this.ucPullToRefresh.TrackListBox((ISupportPullToRefresh)this.virtPanel);
     this.ucPullToRefresh.TrackListBox((ISupportPullToRefresh)this.ucMyVideos.listBoxAdded);
     this.ucPullToRefresh.TrackListBox((ISupportPullToRefresh)this.ucMyVideos.listBoxUploaded);
     this.ucPullToRefresh.TrackListBox((ISupportPullToRefresh)this.ucMyVideos.listBoxAlbums);
     this.virtPanel.OnRefresh = (Action)(() => this.VM.LoadData(true));
     this.ucMyVideos.listBoxAdded.OnRefresh    = (Action)(() => this.VM.UserVideosVM.VideosOfOwnerVM.AllVideosVM.LoadData(true, false, (Action <BackendResult <VKList <VKClient.Common.Backend.DataObjects.Video>, ResultCode> >)null, false));
     this.ucMyVideos.listBoxUploaded.OnRefresh = (Action)(() => this.VM.UserVideosVM.VideosOfOwnerVM.UploadedVideosVM.LoadData(true, false, (Action <BackendResult <VKList <VKClient.Common.Backend.DataObjects.Video>, ResultCode> >)null, false));
     this.ucMyVideos.listBoxAlbums.OnRefresh   = (Action)(() => this.VM.UserVideosVM.VideosOfOwnerVM.AlbumsVM.LoadData(true, false, (Action <BackendResult <VKList <VideoAlbum>, ResultCode> >)null, false));
     this.virtPanel.InitializeWithScrollViewer((IScrollableArea) new ViewportScrollableAreaAdapter(this.scroll), false);
     this.RegisterForCleanup((IMyVirtualizingPanel)this.virtPanel);
     this.scroll.BindViewportBoundsTo((FrameworkElement)this.stackPanel);
     this.BuildAppBar();
     this.virtPanel.CreateVirtItemFunc = (Func <object, IVirtualizable>)(obj => (IVirtualizable) new UCItem(480.0, new Thickness(), (Func <UserControlVirtualizable>)(() =>
     {
         UserControlVirtualizable controlVirtualizable = (UserControlVirtualizable)null;
         if (obj is ListHeaderViewModel)
         {
             controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <ListHeaderUC>();
         }
         if (obj is CategoryMoreFooter)
         {
             controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <CategoryMoreFooterUC>();
         }
         if (obj is CatalogItemViewModel)
         {
             controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <CatalogItemUC>();
             (controlVirtualizable as CatalogItemUC).GridLayoutRoot.Background = (Brush)(Application.Current.Resources["PhoneNewsBackgroundBrush"] as SolidColorBrush);
         }
         if (obj is CatalogItemsHorizontalViewModel)
         {
             controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <CatalogItemsHorizontalExtUC>();
         }
         if (obj is DividerSpaceUpViewModel)
         {
             controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <DividerSpaceUpUC>();
         }
         if (obj is DividerSpaceDownViewModel)
         {
             controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <DividerSpaceDownUC>();
         }
         if (obj is CatalogItemTwoInARowViewModel)
         {
             controlVirtualizable = (UserControlVirtualizable)this._virtControlsPool.GetFromPool <CatalogItemTwoInARowUC>();
         }
         controlVirtualizable.DataContext = obj;
         return(controlVirtualizable);
     }), (Func <double>)(() =>
     {
         if (obj is ListHeaderViewModel)
         {
             return(84.0);
         }
         if (obj is CategoryMoreFooter)
         {
             return(64.0);
         }
         if (obj is CatalogItemViewModel)
         {
             return(128.0);
         }
         if (obj is CatalogItemsHorizontalViewModel)
         {
             return(242.0);
         }
         if (obj is DividerSpaceUpViewModel || obj is DividerSpaceDownViewModel)
         {
             return(8.0);
         }
         return(obj is CatalogItemTwoInARowViewModel ? 138.0 : 0.0);
     }), (Action <UserControlVirtualizable>)(ucv => this._virtControlsPool.AddBackToPool(ucv)), 0.0, false));
 }