WPF common "enable all" checkbox in the top

December 07, 2015 , 0 Comments

In this WPF article, I will show you, single checkbox enable all other remaining checkboxes; if it is unchecked then remaining them also unchecked. To do this task, first of add single checkbox for all other checkboxes in the stack panel. Now, add other child checkboxes in nested stack panel. look at, simple xaml code view.

<Window x:Class="WpfApplication8.MainWindow"
        Title="MainWindow" Height="350" Width="525">
        <StackPanel Margin="10">
            <Label FontWeight="Bold">Technical Skills</Label>
            <StackPanel Margin="20,10">
                <CheckBox IsThreeState="True" Name="AllSelect" Checked="AllSelect_Checked" Unchecked="AllSelect_Checked">Enable All</CheckBox>
                <StackPanel Margin="20,10">
                    <CheckBox Name="singlecheckjava" Checked="singlecheckjava_Checked" Unchecked="singlecheckjava_Checked">Java</CheckBox>
                    <CheckBox Name="singlecheckcpp" Checked="singlecheckjava_Checked" Unchecked="singlecheckjava_Checked">C++</CheckBox>
                    <CheckBox Name="singlecheckphp" Checked="singlecheckjava_Checked" Unchecked="singlecheckjava_Checked">PHP</CheckBox>          
Here, we have checked and unchecked events. Both are calling same function in "Allselect" checkbox. In the child checkboxes also we have checked and unchecked event , they are calling same method. So in this program we have two method that is "AllSelect_Checked" and "singlecheckjava_Checked".

Code Behind Code 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WpfApplication8
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
        public MainWindow()

        private void AllSelect_Checked(object sender, RoutedEventArgs e)
            bool allcheckbox = (AllSelect.IsChecked == true);
            singlecheckjava.IsChecked = allcheckbox;
            singlecheckcpp.IsChecked = allcheckbox;
            singlecheckphp.IsChecked = allcheckbox;


        private void singlecheckjava_Checked(object sender, RoutedEventArgs e)
            AllSelect.IsChecked = null;
            if ((singlecheckjava.IsChecked == true) && (singlecheckcpp.IsChecked == true) && (singlecheckphp.IsChecked == true))
                AllSelect.IsChecked = true;
            if ((singlecheckjava.IsChecked == false) && (singlecheckcpp.IsChecked == false) && (singlecheckphp.IsChecked == false))
                AllSelect.IsChecked = false;

Jacob Lefore

Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard. Google