コード例 #1
0
        public void Navigate(NavigateMessage message)
        {
            switch (message.NavigateTo)
            {
            case NavigateTo.Search:
                _slideNavigator.GoTo(IndexOfSlide <SearchUserViewModel>());
                break;

            case NavigateTo.Profile:
                var content = (UserSearch)message.Content;
                if (content.Url == (GameProfileViewModel.UserGameProfile?.Url ?? String.Empty))
                {
                    _slideNavigator.GoForward();
                    break;
                }
                _slideNavigator.GoTo(IndexOfSlide <GameProfileViewModel>(), async() => await GameProfileViewModel.Show((UserSearch)message.Content));
                break;

            case NavigateTo.GameDetails:
                //TODO: GameDetails navigation here
                break;

            case NavigateTo.Forward:
                _slideNavigator.GoForward();
                break;

            case NavigateTo.Back:
                _slideNavigator.GoBack();
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
コード例 #2
0
        private void OnNavigate(NavigateMessage message)
        {
            if (message.OriginalPageName.Equals(OperatorPageViewModel.PageName))
            {
                // store the size of the operator page...
                SaveOperatorWindowSize();
            }
            else if (message.OriginalPageName.Equals(SettingsPageViewModel.PageName))
            {
                // store the size of the settings page...
                SaveSettingsWindowSize();
            }

            if (message.TargetPageName.Equals(OperatorPageViewModel.PageName))
            {
                WindowState = WindowState.Normal;

                SetOperatorWindowSize();
            }
            else if (message.TargetPageName.Equals(SettingsPageViewModel.PageName))
            {
                var optionsService = ServiceLocator.Current.GetInstance <IOptionsService>();
                var sz             = optionsService.Options.SettingsPageSize;
                if (sz != default)
                {
                    Width  = sz.Width;
                    Height = sz.Height;
                }
                else
                {
                    Width  = SettingsWindowDefWidth;
                    Height = SettingsWindowDefHeight;
                }
            }
        }
コード例 #3
0
        private async void navigate(NavigateMessage obj)
        {
            string pageName = "Teleta.Bari.XF." + obj.DestinationPage;
            Type   type     = Type.GetType(pageName);

            if (type != null)
            {
                Page page = null;

                if (obj.Parameter == null)
                {
                    // Ctor parameter-less
                    page = Activator.CreateInstance(type) as Page;
                }
                else
                {
                    // Cerca un ctor che abbia un parametro in input
                    page = Activator.CreateInstance(type, obj.Parameter) as Page;
                }

                if (page != null)
                {
                    await Application.Current.MainPage.Navigation.PushAsync(page);
                }
            }
        }
コード例 #4
0
        private void gotoArticleDetail()
        {
            NavigateMessage msg = new NavigateMessage("ArticleDetailPage");

            msg.Parameter = this.Articolo;
            Messenger.Default.Send <NavigateMessage>(msg);
        }
コード例 #5
0
 private void Navigate(NavigateMessage message)
 {
     if (message.WindowAction == WindowAction.ReloadDataSource)
     {
         ReloadDataSource();
     }
 }
コード例 #6
0
ファイル: CrudVMBase.cs プロジェクト: mborysiak-sp/mvvm-wpf
 private void CurrentUserControl(NavigateMessage nm)
 {
     if (this.GetType() == nm.ViewModelType)
     {
         isCurrentView = true;
     }
     else
     {
         isCurrentView = false;
     }
 }
コード例 #7
0
ファイル: MainViewModel.cs プロジェクト: zaxy78/ImHere
        public void NavigateToPage(NavigateMessage msgNavigate)
        {
            var page = msgNavigate.ToPage;

            if (page == null)
            {
                MessageBox.Show($"{page.ToString()} is not a Page!", "Error in Navigation!");
            }

            CurrentPage = (Page)page;
        }
コード例 #8
0
        private void OnNavigate(NavigateMessage message)
        {
            IView view = null;

            App.Current.Dispatcher.Invoke(() =>
            {
                this.CurrentView = _views[message.TargetView];
                view             = (this.CurrentView.DataContext as IView);
            });
            view?.Activated(message.State);
        }
コード例 #9
0
ファイル: MainViewModel.cs プロジェクト: thinidus/OnlyT
        /// <summary>
        /// Responds to the NavigateMessage and swaps out one page for another
        /// </summary>
        /// <param name="message"></param>
        private void OnNavigate(NavigateMessage message)
        {
            if (message.TargetPageName.Equals(SettingsPageViewModel.PageName))
            {
                // we only init the settings page when first used...
                InitSettingsPage();
            }

            CurrentPage     = _pages[message.TargetPageName];
            CurrentPageName = message.TargetPageName;
            ((IPage)CurrentPage.DataContext).Activated(message.State);
        }
コード例 #10
0
ファイル: ViewVM.cs プロジェクト: ssiljk/mktDB
        public void NavigateExecute()
        {
            if (View == null && ViewType != null)
            {
                View = (UserControl)Activator.CreateInstance(ViewType);
            }
            var msg = new NavigateMessage {
                View = View, ViewModelType = ViewModelType, ViewType = ViewType
            };

            Messenger.Default.Send <NavigateMessage>(msg);
        }
コード例 #11
0
        private void StartSingleChatCommandExecute(WhatsAppContact contact)
        {
            if (contact == null)
            {
                return;
            }

            var msg = new NavigateMessage("ChatPage");

            msg.Parameter = contact;
            Messenger.Default.Send <NavigateMessage>(msg);
        }
コード例 #12
0
 public void Handle(NavigateMessage message)
 {
     switch (message.NavigateTo)
     {
         case LoginPage.Login:
             ActivateItem(_loginViewModel);
             break;
         case LoginPage.Signup:
             ActivateItem(_signupViewModel);
             break;
         default:
             break;
     }
 }
コード例 #13
0
        public void Handle(NavigateMessage message)
        {
            switch (message.NavigateTo)
            {
            case ContentPage.Home:
                ActivateItem(_homeViewModel);
                break;

            case ContentPage.Settings:
                ActivateItem(_settingsViewModel);
                break;

            default:
                break;
            }
        }
コード例 #14
0
 private void Navigate(NavigateMessage message)
 {
     if (message.WindowAction == WindowAction.Close)
     {
         _activeWindow.Close();
     }
     else if (message.WindowAction == WindowAction.AddNew || message.WindowAction == WindowAction.Update)
     {
         var movieEditViewModel = SimpleIoc.Default.GetInstance <MovieEditViewModel>();
         movieEditViewModel.EditableItem = message.Context;
         _activeWindow = new MovieEditWindow()
         {
             DataContext = movieEditViewModel
         };
         _activeWindow.ShowDialog();
     }
 }
コード例 #15
0
 private void OnNavigate(NavigateMessage message)
 {
     if (message.TargetPageName.Equals(SettingsPageViewModel.PageName))
     {
         // when the settings page is displayed we ensure that the
         // display is split so that we can easily adjust the split
         // position...
         var model = (TimerOutputWindowViewModel)DataContext;
         model.TimeString = TimeFormatter.FormatTimerDisplayString(0);
         DisplaySplitScreen();
     }
     else if (message.OriginalPageName.Equals(SettingsPageViewModel.PageName))
     {
         // restore to full screen time of day...
         DisplayFullScreenTimeOfDay();
     }
 }
コード例 #16
0
        private async void navigate(NavigateMessage obj)
        {
            Type t = Type.GetType("WhatsAppCrossMobile." + obj.DestionationPage);

            if (t != null)
            {
                Page page = Activator.CreateInstance(t) as Page;

                if (page != null)
                {
                    if (obj.Parameter != null)
                    {
                        var vm = page.Resources["viewmodel"] as ApplicationViewModelBase;
                        vm.Parameter = obj.Parameter;
                        vm.Init();
                    }

                    await this.MainPage.Navigation.PushAsync(page, true);
                }
            }
        }
コード例 #17
0
ファイル: MainWindow.xaml.cs プロジェクト: josemh/OnlyR
        private void OnNavigate(NavigateMessage message)
        {
            if (message.OriginalPageName.Equals(SettingsPageViewModel.PageName))
            {
                // store the size of the settings page...
                SaveSettingsWindowSize();
            }

            if (message.TargetPageName.Equals(RecordingPageViewModel.PageName))
            {
                // We don't allow the main window to be resized...
                ResizeMode  = ResizeMode.CanMinimize;
                WindowState = WindowState.Normal;
                Width       = MainWindowWidth;
                Height      = MainWindowHeight;
            }
            else if (message.TargetPageName.Equals(SettingsPageViewModel.PageName))
            {
                // Settings window can be resized...
                ResizeMode = ResizeMode.CanResize;
                MinHeight  = MainWindowHeight;
                MinWidth   = MainWindowWidth;

                MaxHeight = SettingsWindowMaxHeight;
                MaxWidth  = SettingsWindowMaxWidth;

                var optionsService = ServiceLocator.Current.GetInstance <IOptionsService>();
                var sz             = optionsService.Options.SettingsPageSize;
                if (sz != default(Size))
                {
                    Width  = sz.Width;
                    Height = sz.Height;
                }
                else
                {
                    Width  = SettingsWindowDefWidth;
                    Height = SettingsWindowDefHeight;
                }
            }
        }
コード例 #18
0
        private void OnNavigateMessage(NavigateMessage <AddDataWindowMessages> message)
        {
            if (message.NavigateDirection == NavigateDirection.Forward)
            {
                _history.Push(message.From);

                _messenger.Send(message.To);
            }
            else if (message.NavigateDirection == NavigateDirection.Backward)
            {
                var prev = _history.Pop();
                if (prev == AddDataWindowMessages.ReadProgressPage)
                {
                    _readProgressViewModel = null;
                    prev = _history.Pop();
                }

                ResetPreviousPageViewModel(message.From);

                _messenger.Send(prev);
            }
        }
コード例 #19
0
 private void ShowUserControl(NavigateMessage nm)
 {
     MenuVisible    = Visibility.Collapsed;
     Holder.Content = nm.View;
 }
コード例 #20
0
ファイル: MainViewModel.cs プロジェクト: sauryjorge/OnlyT
 /// <summary>
 /// Responds to the NavigateMessage and swaps out one page for another
 /// </summary>
 /// <param name="message"></param>
 private void OnNavigate(NavigateMessage message)
 {
     CurrentPage      = _pages[message.TargetPage];
     _currentPageName = message.TargetPage;
     ((IPage)CurrentPage.DataContext).Activated(message.State);
 }
コード例 #21
0
 public void NavigateMessage(NavigateMessage content) =>
 Messenger.Default.Send(new NotificationMessage <NavigateMessage>(this, content, "Navigating"));
コード例 #22
0
 public void Handle(NavigateMessage <DeviceListViewModel> message)
 {
     Navigate <DeviceListViewModel>();
 }
コード例 #23
0
 private void ShowUserControl(NavigateMessage nm)
 {
     CommandTab.SelectedItem = EditTabItem;
     Holder.Content          = nm.View;
 }
コード例 #24
0
 private void ShowUserControl(NavigateMessage nm)
 {
     EditFrame.Content = nm.View;
 }