예제 #1
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));
        }
예제 #2
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));
        }