private void QueueContentDialog_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args) { if (CurrentUseProgramList.SelectedItem is ProgramPickerItem CurrentItem) { SelectedProgram = CurrentItem; } else if (OtherProgramList.SelectedItem is ProgramPickerItem OtherItem) { SelectedProgram = OtherItem; if (UseAsAdmin.IsChecked.GetValueOrDefault()) { if (ApplicationData.Current.LocalSettings.Values["AdminProgramForExcute"] is string ProgramExcute) { string SaveUnit = ProgramExcute.Split(';', StringSplitOptions.RemoveEmptyEntries).FirstOrDefault((Item) => Item.Split('|')[0] == OpenFile.FileType); if (string.IsNullOrEmpty(SaveUnit)) { ApplicationData.Current.LocalSettings.Values["AdminProgramForExcute"] = ProgramExcute + $"{OpenFile.FileType}|{OtherItem.Name};"; } else { ApplicationData.Current.LocalSettings.Values["AdminProgramForExcute"] = ProgramExcute.Replace(SaveUnit, $"{OpenFile.FileType}|{OtherItem.Name}"); } } else { ApplicationData.Current.LocalSettings.Values["AdminProgramForExcute"] = $"{OpenFile.FileType}|{OtherItem.Name};"; } } } }
private async void QueueContentDialog_PrimaryButtonClick(ContentDialog sender, ContentDialogButtonClickEventArgs args) { var Deferral = args.GetDeferral(); if (CurrentUseProgramList.SelectedItem is ProgramPickerItem CurrentItem) { if (UseAsAdmin.IsChecked.GetValueOrDefault()) { if (ApplicationData.Current.LocalSettings.Values["AdminProgramForExcute"] is string ProgramExcute) { string SaveUnit = ProgramExcute.Split(';', StringSplitOptions.RemoveEmptyEntries).FirstOrDefault((Item) => Item.Split('|')[0] == OpenFile.FileType); if (string.IsNullOrEmpty(SaveUnit)) { ApplicationData.Current.LocalSettings.Values["AdminProgramForExcute"] = ProgramExcute + $"{OpenFile.FileType}|{CurrentItem.Name};"; } else { ApplicationData.Current.LocalSettings.Values["AdminProgramForExcute"] = ProgramExcute.Replace(SaveUnit, $"{OpenFile.FileType}|{CurrentItem.Name}"); } } else { ApplicationData.Current.LocalSettings.Values["AdminProgramForExcute"] = $"{OpenFile.FileType}|{CurrentItem.Name};"; } } if (CurrentItem.PackageName == Package.Current.Id.FamilyName) { ContinueUseInnerViewer = true; } else { if (CurrentItem.IsCustomApp) { await FullTrustExcutorController.Current.RunAsync(CurrentItem.Path, OpenFile.Path).ConfigureAwait(true); } else { if (!await Launcher.LaunchFileAsync(OpenFile, new LauncherOptions { TargetApplicationPackageFamilyName = CurrentItem.PackageName, DisplayApplicationPicker = false })) { OpenFailed = true; if (ApplicationData.Current.LocalSettings.Values["AdminProgramForExcute"] is string ProgramExcute) { ApplicationData.Current.LocalSettings.Values["AdminProgramForExcute"] = ProgramExcute.Replace($"{OpenFile.FileType}|{CurrentItem.Name};", string.Empty); } } } } } else if (OtherProgramList.SelectedItem is ProgramPickerItem OtherItem) { if (UseAsAdmin.IsChecked.GetValueOrDefault()) { if (ApplicationData.Current.LocalSettings.Values["AdminProgramForExcute"] is string ProgramExcute) { string SaveUnit = ProgramExcute.Split(';', StringSplitOptions.RemoveEmptyEntries).FirstOrDefault((Item) => Item.Split('|')[0] == OpenFile.FileType); if (string.IsNullOrEmpty(SaveUnit)) { ApplicationData.Current.LocalSettings.Values["AdminProgramForExcute"] = ProgramExcute + $"{OpenFile.FileType}|{OtherItem.Name};"; } else { ApplicationData.Current.LocalSettings.Values["AdminProgramForExcute"] = ProgramExcute.Replace(SaveUnit, $"{OpenFile.FileType}|{OtherItem.Name}"); } } else { ApplicationData.Current.LocalSettings.Values["AdminProgramForExcute"] = $"{OpenFile.FileType}|{OtherItem.Name};"; } } if (OtherItem.PackageName == Package.Current.Id.FamilyName) { ContinueUseInnerViewer = true; } else { if (OtherItem.IsCustomApp) { await FullTrustExcutorController.Current.RunAsync(OtherItem.Path, OpenFile.Path).ConfigureAwait(true); } else { if (!await Launcher.LaunchFileAsync(OpenFile, new LauncherOptions { TargetApplicationPackageFamilyName = OtherItem.PackageName, DisplayApplicationPicker = false })) { OpenFailed = true; if (ApplicationData.Current.LocalSettings.Values["AdminProgramForExcute"] is string ProgramExcute) { ApplicationData.Current.LocalSettings.Values["AdminProgramForExcute"] = ProgramExcute.Replace($"{OpenFile.FileType}|{OtherItem.Name};", string.Empty); } } } } } Deferral.Complete(); }