private void LoadBackupAppsList(Backup backup, out bool isThereAtLeastOneNotInstalled, out bool isThereAtLeastOneInstalled) { isThereAtLeastOneNotInstalled = false; isThereAtLeastOneInstalled = false; List <BackupListOfApps> listOfApps = new List <BackupListOfApps>(); foreach (var item in backup.Apps) { BackupListOfApps b = new BackupListOfApps(); b.AppName = item.DisplayName; b.cAppData = item; AppData appd = AppDataExtension.GetAppDataFromCompactAppData(item); if (appd == null) { b.IsInstalled = false; isThereAtLeastOneNotInstalled = true; } else { b.Publisher = appd.Publisher; b.IsInstalled = true; isThereAtLeastOneInstalled = true; } listOfApps.Add(b); } appsList.ItemsSource = listOfApps; }
private async void appsList_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (appsList.SelectedItem == null) { return; } BackupListOfApps selectedApp = (BackupListOfApps)appsList.SelectedItem; appsList.SelectedItem = null; if (!selectedApp.IsInstalled) { CompactAppData appd = selectedApp.cAppData; Uri storeUri; if (appd.FamilyName[0] == ('{')) { storeUri = new Uri("ms-windows-store://pdp/?PhoneAppId=" + appd.FamilyName.Substring(1, appd.FamilyName.Length - 2).ToLower()); } else { storeUri = new Uri("ms-windows-store://pdp/?PFN=" + appd.FamilyName); } await Windows.System.Launcher.LaunchUriAsync(storeUri); } }