public override async Task OnNavigatedToAsync(object parameter, NavigationMode mode, IDictionary <string, object> suspensionState) { if (suspensionState.Any()) { //Value = suspensionState[nameof(Value)]?.ToString(); } MessengerInstance.Register <NotificationMessage>(this, MainViewModel.SELECTED_NULL_TOKEN, (message) => SelectedIsNullHandler()); await Task.CompletedTask; MainVM.PageHeader = Res.GetString("DP_PageHeader"); if (FilesList != null) { FilesListLoaded?.Invoke(this, EventArgs.Empty); } }
/// <summary> /// Opens file picker and populates files list /// </summary> public async Task OpenDeployFiles() { // check if user has a worker folder if (StorageInterface.IsDeployFolderAvailable) { // get worker folder StorageFolder folder = await StorageInterface.GetDeployFolder(); // get files from worker folder IReadOnlyList <StorageFile> files = await StorageInterface.GetDeployFiles(); // handle each file if (files?.Count > 0) { // new list FilesList = new ObservableCollection <DeployFile>(); // get each file and add it to collection foreach (StorageFile file in files) { // check for allowed extensions if (Path.GetExtension(file.Path).ToLower() == ".sig") { // this type of file will be use latter, not now continue; } else if (Path.GetExtension(file.Path).ToLower() != ".nmf" && Path.GetExtension(file.Path).ToLower() != ".hex") { // file as different or no extension // allowed files without extension are ER_FLASH, ER_RAM, ER_CONFIG, ER_DAT, ER_ResetVector if (file.DisplayName != "ER_FLASH" && file.DisplayName != "ER_RAM" && file.DisplayName != "ER_CONFIG" && file.DisplayName != "ER_DAT" && file.DisplayName != "ER_ResetVector") { // file not allowed continue; } } // add new files FilesList.Add(new DeployFile(file)); } // any file if (FilesList.Count == 0) { var dummy = await DialogSrv.ShowMessageAsync(Res.GetString("DP_NoValidFiles")); return; } FilesListLoaded?.Invoke(this, EventArgs.Empty); } else { var dummy = await DialogSrv.ShowMessageAsync(Res.GetString("DP_NoFiles")); } } else { // user haven't pick a folder yet, notify him List <Tuple <string, Action> > buttons = new List <Tuple <string, Action> > { new Tuple <string, Action>(Res.GetString("DP_GoToSettings"), () => NavigationService.Navigate(Pages.SettingsPage, 0)), new Tuple <string, Action>(Res.GetString("DP_Close"), null) }; await DialogSrv.ShowMessageWithActionsAsync(Res.GetString("DP_NoWorkerFolder"), "", buttons, 0, 1); } }