public void Init(int operatingSystemID, int labID, List <ConfigurationData> configurations) { mOperatingSystemID = operatingSystemID; mSelectedConfigurations = configurations; Configurations.ItemsSource = mOriginalList; // Fetch data mSource = ConfigurationData.Select(mOperatingSystemID, labID); // Copy Selected falgs from previously selected configurations foreach (var config in mSelectedConfigurations) { if (config.Selected == true) { var item = mSource.FirstOrDefault(e => e.ConfigurationID == config.ConfigurationID); if (item != null) { item.Selected = true; } } } bool allSelected = mSource.All(e => e.Selected == true); SelectAll.IsChecked = allSelected; Refresh(); }