コード例 #1
0
ファイル: AddDataWindow.xaml.cs プロジェクト: AlienJust/RPD
        /// <summary>
        /// Навигация по страницам. Источниками сообщений обычно являются ViewModels страниц,
        /// которые хостятся в этом окне.
        /// </summary>
        /// <param name="msg">Сообщение на какую страницу перейти</param>
        void NavigateToPage(AddDataWindowMessages msg)
        {
            switch (msg)
            {
            case AddDataWindowMessages.SelectUsbDevicePage:
                frame.NavigationService.Navigate(
                    new Uri("Views/AddDataView/SelectUsbDevicePage.xaml", UriKind.RelativeOrAbsolute));
                break;

            case AddDataWindowMessages.SelectZippedRepositoryPage:
                frame.NavigationService.Navigate(
                    new Uri("Views/AddDataView/SelectPathPage.xaml", UriKind.RelativeOrAbsolute));
                break;

            case AddDataWindowMessages.SelectFolderPage:
                frame.NavigationService.Navigate(
                    new Uri("Views/AddDataView/SelectPathPage.xaml", UriKind.RelativeOrAbsolute));
                break;

            case AddDataWindowMessages.SelectExportPathPage:
                frame.NavigationService.Navigate(
                    new Uri("Views/AddDataView/SelectPathPage.xaml", UriKind.RelativeOrAbsolute));
                break;

            case AddDataWindowMessages.SelectDataSourcePage:
                frame.NavigationService.Navigate(
                    new Uri("Views/AddDataView/SelectDataSourcePage.xaml", UriKind.RelativeOrAbsolute));
                break;

            case AddDataWindowMessages.SelectFtpServerPage:
                frame.NavigationService.Navigate(
                    new Uri("Views/AddDataView/SelectFtpServerPage.xaml", UriKind.RelativeOrAbsolute));
                break;

            case AddDataWindowMessages.AvailableFaultsPage:
                frame.NavigationService.Navigate(
                    new Uri("Views/AddDataView/AvailableFaultsPage.xaml", UriKind.RelativeOrAbsolute));
                break;

            case AddDataWindowMessages.ReadProgressPage:
                frame.NavigationService.Navigate(
                    new Uri("Views/AddDataView/ReadProgressPage.xaml", UriKind.RelativeOrAbsolute));
                break;

            case AddDataWindowMessages.SelectPsnConfiguration:
                frame.NavigationService.Navigate(
                    new Uri("Views/AddDataView/SelectPsnConfigurationPage.xaml", UriKind.RelativeOrAbsolute));
                break;

            case AddDataWindowMessages.SelectFtpDevicePage:
                frame.NavigationService.Navigate(
                    new Uri("Views/AddDataView/SelectFtpDevicePage.xaml", UriKind.RelativeOrAbsolute));
                break;

            case AddDataWindowMessages.DeviceLocomotiveNameViewModel:
                frame.NavigationService.Navigate(
                    new Uri("Views/AddDataView/DeviceLocomotiveNamePage.xaml", UriKind.RelativeOrAbsolute));
                break;
            }
        }
コード例 #2
0
        /// <summary>
        /// Сбрасывает (обнуляет) МП предыдущей страницы (с которой вернулись обратно).
        /// </summary>
        /// <param name="prevPage"></param>
        private void ResetPreviousPageViewModel(AddDataWindowMessages prevPage)
        {
            switch (prevPage)
            {
            case AddDataWindowMessages.SelectDataSourcePage:
                _selectDataSource = null;
                break;

            case AddDataWindowMessages.SelectUsbDevicePage:
                _selectUsbUsbDevice = null;
                break;

            case AddDataWindowMessages.SelectZippedRepositoryPage:
                _selectPath = null;
                break;

            case AddDataWindowMessages.SelectFolderPage:
                _selectPath = null;
                break;

            case AddDataWindowMessages.SelectExportPathPage:
                _selectPath = null;
                break;

            case AddDataWindowMessages.AvailableFaultsPage:
                _availableFaults = null;
                break;

            case AddDataWindowMessages.ReadProgressPage:
                _readProgressViewModel = null;
                break;

            case AddDataWindowMessages.SelectPsnConfiguration:
                _selectPsnConfiguration = null;
                break;

            case AddDataWindowMessages.SelectFtpServerPage:
                _selectFtpServer = null;
                break;

            case AddDataWindowMessages.SelectFtpDevicePage:
                _selectFtpDevice = null;
                break;

            case AddDataWindowMessages.DeviceLocomotiveNameViewModel:
                _deviceLocomotiveName = null;
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }