private async void SubmitButton_Click(object sender, RoutedEventArgs e) { SubmitButton.IsEnabled = false; AbstractDownloader downloader = analyser.GetDownloader(); Debug.WriteLine(nameof(currentFolderToken) + ": " + currentFolderToken); Models.DownloaderSettings settings = new Models.DownloaderSettings() { Url = analyser.URL, FileName = (bool)(NeedRenameButton.IsChecked) ? RenameBox.Text : analyser.GetRecommendedName(), Size = analyser.GetStreamSize() > 0 ? (long?)analyser.GetStreamSize() : null, Threads = ThreadLayout.Visibility == Visibility.Visible ? (int?)ThreadNumSlider.Value : null, FilePath = downloader.NeedTemporaryFilePath ? await StorageManager.GetTemporaryFileAsync() : null, FolderToken = currentFolderToken }; downloader.SetDownloader(settings); MainPage.Current.AddDownloadBar(downloader); //由于软件的窗口管理机制要把控件的值重置以准备下次被打开 RefreshUI(); await ApplicationViewSwitcher.SwitchAsync(MainPage.Current.ViewID); //拉起MainPage await ApplicationView.GetForCurrentView().TryConsolidateAsync(); //关闭窗口 }
//得到了一个新URL,分析其文件名,文件大小 private async void AddURL(string URL) { AbstractAnalyser analyser = Converters.UrlConverter.GetAnalyser(URL); await analyser.SetURLAsync(URL); if (analyser.IsLegal()) { URLMessage message = new URLMessage(); message.URL = analyser.URL; message.StreamSize = analyser.GetStreamSize(); message.RecommendedFileName = analyser.GetRecommendedName(); if (message.RecommendedFileName == null) { message.RecommendedFileName = string.Empty; } message.StreamSizeToString = Converters.StringConverter.GetPrintSize(analyser.GetStreamSize()); AddListViewItem(message); LimitListLength(); } analyser.Dispose(); }