private async Task PinApplicationToTaskBarAsync() { if (ApplicationData.Current.LocalSettings.Values.ContainsKey("IsPinToTaskBar")) { if (!ApplicationData.Current.RoamingSettings.Values.ContainsKey("IsRated")) { await RequestRateApplication().ConfigureAwait(false); } } else { ApplicationData.Current.LocalSettings.Values["IsPinToTaskBar"] = true; TaskbarManager BarManager = TaskbarManager.GetDefault(); StartScreenManager ScreenManager = StartScreenManager.GetDefault(); bool PinStartScreen = false, PinTaskBar = false; AppListEntry Entry = (await Package.Current.GetAppListEntriesAsync())[0]; if (ScreenManager.SupportsAppListEntry(Entry) && !await ScreenManager.ContainsAppListEntryAsync(Entry)) { PinStartScreen = true; } if (BarManager.IsPinningAllowed && !await BarManager.IsCurrentAppPinnedAsync()) { PinTaskBar = true; } if (PinStartScreen && PinTaskBar) { PinTip.ActionButtonClick += async(s, e) => { s.IsOpen = false; _ = await BarManager.RequestPinCurrentAppAsync(); _ = await ScreenManager.RequestAddAppListEntryAsync(Entry); }; } else if (PinStartScreen && !PinTaskBar) { PinTip.ActionButtonClick += async(s, e) => { s.IsOpen = false; _ = await ScreenManager.RequestAddAppListEntryAsync(Entry); }; } else if (!PinStartScreen && PinTaskBar) { PinTip.ActionButtonClick += async(s, e) => { s.IsOpen = false; _ = await BarManager.RequestPinCurrentAppAsync(); }; } else { PinTip.ActionButtonClick += (s, e) => { s.IsOpen = false; }; } PinTip.Closed += async(s, e) => { s.IsOpen = false; await RequestRateApplication().ConfigureAwait(true); }; PinTip.Subtitle = Globalization.GetString("TeachingTip_PinToMenu_Subtitle"); PinTip.IsOpen = true; } }