Exemplo n.º 1
0
        private void ShowRequestedPage()
        {
            NavigationContext.QueryString.TryGetValue("Tab", out currentTab);
            currentTab = currentTab ?? "Load";

            switch (currentTab)
            {
            case "Scan":
                LoadingPanel.Visibility = Visibility.Collapsed;
                ScanPanel.Visibility    = Visibility.Visible;
                WorkPanel.Visibility    = Visibility.Collapsed;

                while (NavigationService.BackStack.Any())
                {
                    NavigationService.RemoveBackEntry();
                }

                break;

            case "Drop":
                LoadingPanel.Visibility = Visibility.Collapsed;
                ScanPanel.Visibility    = Visibility.Collapsed;
                WorkPanel.Visibility    = Visibility.Visible;

                LoadPhoto(LatestPhotoFilename).ContinueWith(SetupDropTab);

                // for reasons completely past my understanding, we need to do this inside the UI thread for it to work. I thought
                // OnNavigatedTo was already on the ui thread? Ahwell.
                Deployment.Current.Dispatcher.BeginInvoke(() =>
                {
                    Filename.Focus();
                    Filename.SelectAll();
                });
                break;

            case "Load":
            default:
                LoadingPanel.Visibility = Visibility.Visible;
                ScanPanel.Visibility    = Visibility.Collapsed;
                WorkPanel.Visibility    = Visibility.Collapsed;
                break;
            }
        }