示例#1
0
		protected override void OnSearchActivated(SearchActivatedEventArgs args)
		{
			base.OnSearchActivated(args);
			if (args != null && args.Kind == ActivationKind.Search)
			{
				var searchArgs = args as SearchActivatedEventArgs;

				string serializedCriteria = null;
				if (args.PreviousExecutionState == ApplicationExecutionState.Running)
				{
					var criteria = new PollsPageSearchNavigationCriteria
											 {
												 SearchQuery = searchArgs.QueryText
											 };
					serializedCriteria = Serializer.Serialize(criteria);
					NavigationService.NavigateToViewModel<PollsPageViewModel>(serializedCriteria);
				}
				else
				{
					var criteria = new LandingPageNavigationCriteria
					{

					};
					serializedCriteria = Serializer.Serialize(criteria);
					DisplayRootView<LandingPage>(serializedCriteria);
				}
			}
		}
示例#2
0
		protected override void OnLaunched(LaunchActivatedEventArgs args)
		{
			string serializedCriteria = null;
			if (!string.IsNullOrEmpty(args.Arguments))
			{
				int pollId;
				if (int.TryParse(args.Arguments, out pollId))
				{
					if (args.PreviousExecutionState == ApplicationExecutionState.Running)
					{
						var criteria = new ViewPollPageNavigationCriteria
						{
							PollId = pollId
						};
						serializedCriteria = Serializer.Serialize(criteria);
					}
					else
					{
						var criteria = new LandingPageNavigationCriteria
						{
							PollId = pollId
						};
						serializedCriteria = Serializer.Serialize(criteria);
					}
				}
			}

			if (args != null && args.PreviousExecutionState == ApplicationExecutionState.Running)
			{
				this.NavigationService.NavigateToViewModel<ViewPollPageViewModel>(serializedCriteria);
			}
			else
			{
				this.DisplayRootView<LandingPage>(serializedCriteria);
			}
		}
示例#3
0
		protected override void OnActivated(IActivatedEventArgs args)
		{
			base.OnActivated(args);

			string serializedCriteria = null;
			if (args != null && args.Kind == ActivationKind.Protocol)
			{
				var protocolArgs = args as ProtocolActivatedEventArgs;
				if (protocolArgs.Uri.Authority.ToLower() == "poll")
				{
					int pollId;
					if (int.TryParse(protocolArgs.Uri.LocalPath.Substring(1), out pollId))
					{
						if (args.PreviousExecutionState == ApplicationExecutionState.Running)
						{
							var criteria = new ViewPollPageNavigationCriteria
							{
								PollId = pollId
							};
							serializedCriteria = Serializer.Serialize(criteria);
						}
						else
						{
							var criteria = new LandingPageNavigationCriteria
							{
								PollId = pollId
							};
							serializedCriteria = Serializer.Serialize(criteria);
						}
					}
				}
			}

			if (args != null && args.PreviousExecutionState == ApplicationExecutionState.Running)
			{
				this.NavigationService.NavigateToViewModel<ViewPollPageViewModel>(serializedCriteria);
			}
			else
			{
				this.DisplayRootView<LandingPage>(serializedCriteria);
			}
		}
示例#4
0
        /// <summary>
        /// Invoked when the application is launched normally by the end user.  Other entry points
        /// will be used such as when the application is launched to open a specific file.
        /// </summary>
        /// <param name="e">Details about the launch request and process.</param>
        protected override void OnLaunched(LaunchActivatedEventArgs e)
        {

#if DEBUG
            if (System.Diagnostics.Debugger.IsAttached)
            {
                this.DebugSettings.EnableFrameRateCounter = true;
            }
#endif

            Frame rootFrame = Window.Current.Content as Frame;

            // Do not repeat app initialization when the Window already has content,
            // just ensure that the window is active
            if (rootFrame == null)
            {
                // Create a Frame to act as the navigation context and navigate to the first page
                rootFrame = new Frame();

                rootFrame.NavigationFailed += OnNavigationFailed;

                if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
                {
                    //TODO: Load state from previously suspended application
                }

                // Place the frame in the current Window
                Window.Current.Content = rootFrame;
            }

            if (rootFrame.Content == null)
            {
                LandingPageNavigationCriteria hintCriteria = null;
                if (!string.IsNullOrEmpty(e.Arguments))
                {
                    int pollId;
                    if (int.TryParse(e.Arguments, out pollId))
                    {
                        hintCriteria = new LandingPageNavigationCriteria
                        {
                            PollId = pollId
                        };
                    }
                }

                var setup = new Setup(rootFrame);
                setup.Initialize();

                var start = Mvx.Resolve<IMvxAppStart>();
                start.Start(hintCriteria);
            }
            // Ensure the current window is active
            Window.Current.Activate();
        }