public void RefreshList() { var windows = API.EnumerateWindows(); var pinnedWindowList = ((App)Application.Current).pinnedWindowList; foreach (var p in pinnedWindowList) { for (int i = 0; i < windows.Count; i++) { var w = windows[i]; if (w.Pinned) { continue; } if (w.Handle == p.Handle) { w.Pinned = true; } } } PinWindows.Clear(); foreach (var w in windows) { PinWindows.Add(w); } }
private void WindowSelectorPage_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e) { if ((bool)e.NewValue == false) { ((App)Application.Current).pinnedWindowList = PinWindows.Where(x => x.Pinned == true).ToList(); } }