Exemplo n.º 1
0
        public DailyPage()
        {
            this.InitializeComponent();

            this.videoMediaPlayer.AutoPlay = SettingsStore.GetValueOrDefault <bool>(AppCommonConst.IS_AUTOPLAY_TOGGLLESWITCH_ON, true);

            if (dailyViewModel == null)
            {
                if (!SimpleIoc.Default.IsRegistered <DailyViewModel>())
                {
                    SimpleIoc.Default.Register <DailyViewModel>();
                }

                dailyViewModel = SimpleIoc.Default.GetInstance <DailyViewModel>();
            }

            this.DataContext = dailyViewModel;

            this.navigationHelper = new NavigationHelper(this);

            this.videoMediaPlayer.ControlPanelTemplate = AppEnvironment.IsPhone ? Application.Current.Resources["ControlPanelControlTemplatePhone"] as ControlTemplate : Application.Current.Resources["ControlPanelControlTemplatePC"] as ControlTemplate;

            this.Loaded += (ss, ee) =>
            {
                if (AppEnvironment.IsPhone)
                {
                    szPhone.IsZoomedInViewActive         = true;
                    videoMediaPlayer.IsFullScreenVisible = false;

                    this.videoMediaPlayer.DoubleTapped += videoMediaPlayer_DoubleTapped;

                    szPhone.ViewChangeStarted   -= szPhone_ViewChangeStarted;
                    szPhone.ViewChangeCompleted -= szPhone_ViewChangeCompleted;
                    szPhone.ViewChangeStarted   += szPhone_ViewChangeStarted;
                    szPhone.ViewChangeCompleted += szPhone_ViewChangeCompleted;

                    TopTapGuestureBox.Instance.ShowTopTapGuestureUIControl();
                }
                else
                {
                    szPhone.IsZoomedInViewActive         = false;
                    videoMediaPlayer.IsFullScreenVisible = true;

                    szPC.ViewChangeStarted   -= szPC_ViewChangeStarted;
                    szPC.ViewChangeCompleted -= szPC_ViewChangeCompleted;
                    szPC.ViewChangeStarted   += szPC_ViewChangeStarted;
                    szPC.ViewChangeCompleted += szPC_ViewChangeCompleted;

                    this.KeyUp += DailyPage_KeyUp;
                    //szPCDailyFlipView.SelectionChanged += szPCDailyFlipView_SelectionChanged;
                }

                if (dailyViewModel != null)
                {
                    bool hasCollection = true;
                    if (AppEnvironment.IsPhone)
                    {
                        if (dailyViewModel.DailyCollection.Count == 0)
                        {
                            hasCollection = false;
                        }
                    }
                    else
                    {
                        if (dailyViewModel.DailyFlipViewCollection.Count == 0)
                        {
                            hasCollection = false;
                        }
                    }

                    if (!hasCollection)
                    {
                        dailyViewModel.GetDaily(dailyViewModel.DailyCollection, dailyViewModel.DailyFlipViewCollection, ApiDailyRoot.Instance.DailyUrl, AppCacheNewsFileNameConst.CACHE_DAILY_FILENAME, false);
                    }
                }
            };

            this.Unloaded += (ss, ee) =>
            {
                //这里是用来即可激发ZoomSemanticButtonMessenger,使zoomSemanticButton马上隐藏
                if (!AppEnvironment.IsPhone)
                {
                    Messenger.Default.Send <bool>(false, AppMessengerTokenConst.IS_ZOOMSEMANTIC_BUTTON_VISIBLE);
                }

                if (AppEnvironment.IsPhone)
                {
                    szPhone.IsZoomedInViewActive         = true;
                    videoMediaPlayer.IsFullScreenVisible = false;

                    this.videoMediaPlayer.DoubleTapped -= videoMediaPlayer_DoubleTapped;

                    //TopTapGuestureBox.Instance.HideTopTapGuestureUIControl();
                }
                else
                {
                    szPC.IsZoomedInViewActive            = true;
                    videoMediaPlayer.IsFullScreenVisible = true;

                    this.KeyUp -= DailyPage_KeyUp;

                    //szPCDailyFlipView.SelectionChanged -= szPCDailyFlipView_SelectionChanged;
                    //szPCDailyFlipView.SelectedIndex = -1;
                }
            };
        }