コード例 #1
0
        //---------------------------------------------------------------------
        // Public
        //---------------------------------------------------------------------

        public void SetupNavigationTarget(NavigationTargets navigationTarget)
        {
            switch (navigationTarget)
            {
            case NavigationTargets.WC:
                SetActiveWcMarker();
                break;

            case NavigationTargets.PartnersZone:
                SetActivePartnersZoneMarker();
                break;

            case NavigationTargets.PressWall:
                SetActivePressWallMarker();
                break;

            case NavigationTargets.None:
                DeactivateMarkers();
                break;

            default:
                DeactivateMarkers();
                break;
            }
        }
コード例 #2
0
 private void OnNavigated(object sender, Windows.UI.Xaml.Navigation.NavigationEventArgs e)
 {
     if (NavigationTargets.Any(x => x.TargetType == e.SourcePageType))
     {
         SelectedNavigationTarget = NavigationTargets.Single(x => x.TargetType == e.SourcePageType);
     }
 }
コード例 #3
0
 private void Reset()
 {
     Search         = "";
     FindIndicator  = "";
     SelectedTarget = NavigationTargets.First();
     _matchingTargets.Clear();
     Refresh();
 }
コード例 #4
0
        private void ResolveNavigation(NavigationTargets position)
        {
            var navigationResolver = _environment.GetComponent <NavigationResolver>();

            if (navigationResolver != null)
            {
                navigationResolver.SetupNavigationTarget(position);
            }
        }
コード例 #5
0
        private void ShowDefaultPage()
        {
            if (Content != null || NavigationTargets == null || NavigationTargets.Count == 0)
            {
                return;
            }

            Navigate(NavigationTargets.FirstOrDefault());
        }
コード例 #6
0
 public void PopulateListbox(List <string> targets)
 {
     foreach (string target in targets)
     {
         bool skip = Regex.IsMatch(target, "^(@|[LSB][0-9A-F][0-9A-F][0-9A-F][0-9A-F])");
         if (!skip)
         {
             NavigationTargets.Add(new NavigationTarget()
             {
                 Target = target
             });
         }
     }
 }
コード例 #7
0
 private void sm_WaitingForKey_OnEntryFrom_Char(char c)
 {
     // add char to search string
     // find best match
     //Console.WriteLine( "" );
     //Console.WriteLine( "pressed " + c );
     _matchingTargets = NavigationTargets.FindAll(x => x.Target.ToUpper().StartsWith(Search + c));
     if (_matchingTargets.Count > 0)
     {
         NavigationTarget found = _matchingTargets.First();
         //Console.WriteLine( "found " + found.Target );
         Search        += c;
         SelectedTarget = found;
         Refresh();
     }
     //Console.WriteLine( "sm_OnEntry_Char() exit: " + Search );
 }
コード例 #8
0
        private void UpdateTouchEventHandler()
        {
            this.PreviewMouseLeftButtonDown -= SlideToNavigateFrame_PreviewMouseLeftButtonDown;
            this.PreviewMouseMove           -= SlideToNavigateFrame_PreviewMouseMove;
            this.PreviewMouseLeftButtonUp   -= SlideToNavigateFrame_PreviewMouseLeftButtonUp;
            this.MouseLeave -= SlideToNavigateFrame_MouseLeave;

            if (NavigationTargets == null || NavigationTargets.Count == 0 || NavigationTargets.Contains(this.Content) == false)
            {
                // 若目前所導覽到的畫面並不存在於 NavigationTargets,則不啟用觸控滑動換頁
                return;
            }

            this.PreviewMouseLeftButtonDown += SlideToNavigateFrame_PreviewMouseLeftButtonDown;
            this.PreviewMouseMove           += SlideToNavigateFrame_PreviewMouseMove;
            this.PreviewMouseLeftButtonUp   += SlideToNavigateFrame_PreviewMouseLeftButtonUp;
            this.MouseLeave += SlideToNavigateFrame_MouseLeave;
        }
コード例 #9
0
        private object GetPreviousNavigationTarget()
        {
            var currentContent = this.Content;

            if (NavigationTargets == null || NavigationTargets.Contains(currentContent) == false)
            {
                return(null);
            }

            var index = NavigationTargets.IndexOf(currentContent) - 1;

            if (index < 0)
            {
                index = NavigationTargets.Count - 1;
            }

            return(NavigationTargets[index]);
        }
コード例 #10
0
        private object GetNextNavigationTarget()
        {
            var currentContent = this.Content;

            if (NavigationTargets == null || NavigationTargets.Contains(currentContent) == false)
            {
                return(null);
            }

            var index = NavigationTargets.IndexOf(currentContent) + 1;

            if (index >= NavigationTargets.Count)
            {
                index = 0;
            }

            return(NavigationTargets[index]);
        }
コード例 #11
0
        public void Navigate(NavigationTargets target, object viewmodel)
        {
            switch (target)
            {
            case NavigationTargets.Search:
                SearchView view = new SearchView(viewmodel as SearchViewModel);
                _frame.Navigate(view);
                break;

            case NavigationTargets.Results:
            case NavigationTargets.Favorites:
                ResultView resultView = new ResultView();
                resultView.DataContext = viewmodel;
                _frame.Navigate(resultView);
                break;

            default:
                break;
            }
        }
コード例 #12
0
 private void sm_WaitingForKey_OnEntryFrom_Backspace()
 {
     if (Search == "")
     {
         return;
     }
     // remove las char from search string
     Search = Search.Substring(0, Search.Length - 1);
     //Console.WriteLine( Search );
     if (Search == "")
     {
         SelectedTarget = NavigationTargets.First();
         Refresh();
     }
     else
     {
         // find best match if we still have a search string
         _matchingTargets = NavigationTargets.FindAll(x => x.Target.ToUpper().StartsWith(Search));
         Debug.Assert(_matchingTargets.Count > 0);
         SelectedTarget = _matchingTargets.First();
         Refresh();
     }
 }