Example #1
0
        private void AlleCampussen_Checked(object sender, RoutedEventArgs e)
        {
            // Pause listening for changes
            VoorkeurCampussen.CollectionChanged -= VoorkeurCampussen_CollectionChanged;

            VoorkeurCampussen.Clear();
            Campussen.ToList().ForEach(c => VoorkeurCampussen.Add(c));

            Settings.SetVoorkeurCampussen(VoorkeurCampussen);

            // Resume listening for changes
            VoorkeurCampussen.CollectionChanged += VoorkeurCampussen_CollectionChanged;
        }
Example #2
0
        private async void InitializeData()
        {
            List <Campus> campussen = await Api.GetAsync <List <Campus> >();

            List <Opleiding> opleidingen = await Api.GetAsync <List <Opleiding> >();

            // Add all campussen/opleidingen to collection
            campussen.ForEach(c => Campussen.Add(c));
            opleidingen.ForEach(o => Opleidingen.Add(o));

            // Get preferences from settings
            Settings.GetVoorkeurCampussen().ForEach(c => VoorkeurCampussen.Add(c));
            Settings.GetVoorkeurOpleidingen().ForEach(o => VoorkeurOpleidingen.Add(o));

            // Set initial state for 'check all' checkboxes

            if (VoorkeurCampussen.Count > 0 && VoorkeurCampussen.Count < Campussen.Count)
            {
                AlleCampussen.IsChecked = null;
            }
            else
            {
                AlleCampussen.IsChecked = VoorkeurCampussen.Count == Campussen.Count;
            }

            if (VoorkeurOpleidingen.Count > 0 && VoorkeurOpleidingen.Count < Opleidingen.Count)
            {
                AlleOpleidingen.IsChecked = null;
            }
            else
            {
                AlleOpleidingen.IsChecked = VoorkeurOpleidingen.Count == Opleidingen.Count;
            }

            // Listen to changes in preferences
            VoorkeurCampussen.CollectionChanged   += VoorkeurCampussen_CollectionChanged;
            VoorkeurOpleidingen.CollectionChanged += VoorkeurOpleidingen_CollectionChanged;

            // Listen to changes in top checkboxes
            AlleCampussen.Checked     += AlleCampussen_Checked;
            AlleCampussen.Unchecked   += AlleCampussen_Unchecked;
            AlleOpleidingen.Checked   += AlleOpleidingen_Checked;
            AlleOpleidingen.Unchecked += AlleOpleidingen_Unchecked;

            // Create states for each campus/opleiding and bind them
            campussen.ForEach(c => VoorkeurCampussenState.Add(new ToggleState <Campus>(VoorkeurCampussen, c)));
            opleidingen.ForEach(o => VoorkeurOpleidingenState.Add(new ToggleState <Opleiding>(VoorkeurOpleidingen, o)));
        }